home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
ss
/
qubecalc.zip
/
MANUAL
< prev
next >
Wrap
Text File
|
1989-03-18
|
152KB
|
4,665 lines
QubeCalc
User's Manual
(C) Copyright FormalSoft 1986-87
All Rights Reserved
This manual is copyrighted and may not be reproduced in
any manner or form without the express written permission
of:
FormalSoft
P.O. Box 1913
Sandy, Utah 84091-1913
(801) 565-0971
DISCLAIMER
This software will perform as described when used properly.
By using this software you acknowledge that this software
may not suit your particular needs or be completely trouble
free. If this software does not perform as described, our
liability to you is limited to replacing the software or
refunding the purchase price (if registered).
In no event will FormalSoft be liable to you for any
damages, including any lost profits, lost savings or other
incidental or consequential damages arising out of the use
of or inability to use these programs, even if FormalSoft
has been advised of the possibility of such damages.
ATTENTION VERSION 1 AND 2 USERS
In order to provide all of the additional features in this
new release, QubeCalc version 3 uses a different file
structure than versions 1 and 2. If you try to directly read
version 1 or 2 files into version 3 you will receive an
"Invalid File" error. Your old version 1 and 2 files must be
converted over to the new format using the program
CONVERT.COM.
You run the convert program in the following manner:
A> CONVERT oldfile newfile
where oldfile is the name of the version 1 or 2 file (without
the .QUB extension) and newfile is the name you want to
give the version 3 file (without the .QUB extension).
For example, if you have a version 1 or 2 file named
TAXES.QUB which you want to convert to version 3 format,
then typing:
CONVERT taxes taxes3
will create a version 3 file called taxes3. If you give the
same file name for both oldfile and newfile, then the
version 3 file will overwrite the version 1 or 2 file.
2
RESTRICTED PERMISSION TO COPY
QubeCalc is NOT a public domain program. QubeCalc is
copyrighted by FormalSoft, and FormalSoft retains all rights
pertaining to QubeCalc. FormalSoft grants a restricted
permission to users to make and distribute copies of
QubeCalc.
If you continue to regularly use QubeCalc, you are expected
to register with FormalSoft using the form provided below.
If QubeCalc is used for business purposes, or for gain, then
a copy of QubeCalc must be purchased for each computer it
is to be used on.
Private individuals and computer clubs are granted
permission to copy and distribute QubeCalc for evaluation by
others on the following conditions:
- You may NOT sell, rent or lease the disks for profit.
Doing so is a violation of FormalSoft's copyright.
- You may NOT charge anything for QubeCalc (except for
authorized user groups, which may charge a cost based fee
(not to exceed $10) to cover disks and handling.
- You may NOT copy the printed documentation in any
manner or form.
- You may NOT bundle QubeCalc with any other product.
- You may NOT distribute versions of QubeCalc which have
been modified in any way.
- You must include ALL of the files which are distributed
with QubeCalc. These files must be ARCHIVED together if
you place them on an electronic bulletin board.
3
QubeCalc Registration Form
--------------------------
QubeCalc is distributed as ShareWare and is completely
supported by user registrations. You may register your copy
of QubeCalc by filling out the form below and mailing it
along with $74.95 ($69.95 + $5 s/h) to:
FormalSoft
Product Registration
P.O. Box 1913
Sandy, Ut. 84091-1913
We can also accept VISA/MC at (801) 565-0971.
You will receive the latest version of QubeCalc, the
complete printed manual, and will be placed on our update
list to receive automatic notification of QubeCalc updates
and new software releases from FormalSoft.
Name:___________________________________________
Address:________________________________________
City, State, Zip:_______________________________
Number of copies:____ Amount enclosed * :______
* UT residents add 6 1/4% sales tax
Where did you find out about QubeCalc or get your copy
from?
________________________________________________
FormalSoft is currently working on new features to make
QubeCalc even more powerful. If there are any features
you would like to see added to QubeCalc, please let us
know.
________________________________________________
________________________________________________
4
WHAT CAN I DO WITH QUBECALC?
Welcome to the world of QubeCalc. QubeCalc is a TRUE
three dimensional spreadsheet (as opposed to some two
dimensional spreadsheets which let you link cells of multiple
spreadsheets together). It gives you the ability to look at
your data in more ways than you ever imagined possible.
You can enter data into the QubeCalc WorkQube just as you
would with any other spreadsheet. You could treat the
WorkQube as if it were 64 separate spreadsheets which are
linked together, but it is much more flexible than just that.
Regular spreadsheets allow you to enter data in a row and
column format. For example, you might have a spreadsheet
which displays the number of sales listed by month and
salesman as shown below:
1983
Jan 83 Feb 83 Mar 83 Apr 83
Bill 12 13 14 13
Sam 11 15 12 11
Joe 10 10 13 11
Harry 12 15 13 12
With regular spreadsheets you would need to create a
separate sheet for each year's data... and consolidating these
spreadsheets into a total overview spreadsheet would require
major rehashing or re-entering of the spreadsheet data.
With QubeCalc you can enter each year's data into its own
page in the WorkQube (1983 in one page, 1984 in the next
page, and so on)... and one of the WorkQube's pages can be
easily used to link each year's data together as a total
overview spreadsheet.
But the real power of QubeCalc is its ability to rotate the
WorkQube to allow you to look at your data from many
different perspectives. The perspective can be changed so
that what were once pages are now columns, and your data
is now displayed as the number of sales during a given
5
month each year as shown below:
Feb 82 Feb 83 Feb 84 Feb 85
Bill 10 13 12 11
Sam 11 15 10 12
Joe 12 10 14 10
Harry 12 15 13 12
And successive pages now list sales in March, then April,
then May, and so on.
Try doing that with a regular spreadsheet!!!!
QubeCalc is extremely powerful, yet it is easy to learn and
use. It provides many functions and features found only in
very expensive spreadsheet programs, as well as features
which can't be found elsewhere at any price!!
- You can turn rows into columns, columns into pages, and
so on, allowing you to look at your data in any perspective
you desire.
- You can import and export Lotus 1-2-3, dBASE II, dBASE
III, and DIF files.
- Interactive context sensitive help screens make learning
and using QubeCalc a snap.
- A full assortment of predefined functions is provided for
you to use in your computations (Math, Trig, Statistics,
Finance, Date, Time, Logical, Special, and Text catagories).
- You can link to a block of cells in another spreadsheet.
- You can sort your data by rows or columns.
- You can create graphs from your data.
- You can lock title rows and columns on the screen.
- A powerful Macro capability allows you to create your
own little "programs" within a spreadsheet.
6
- You can confine the automatic recalculation to any block
of cells. This can really speed things up in a large
spreadsheet.
- And much, much more!!!
7
GETTING STARTED
SYSTEM REQUIREMENTS
QubeCalc is designed to run on an IBM PC, PC/XT, or a
true IBM compatible running MS-DOS or PC-DOS (version
2.0 or higher). QubeCalc requires at least 256K of RAM to
run, and the full 640K can be accessed if it is available (the
more memory, the bigger the spreadsheets you can have).
If you want to take advantage of QubeCalc's graphics
capabilities, you must have an IBM color graphics adapter or
equivalent.
QubeCalc uses an overlay structure. This means that the
QubeCalc program actually consists of 3 different files;
QUBECALC.COM, QUBECALC.000, and QUBECALC.001.
QUBECALC.COM is the main part of the program.
QUBECALC.000 and QUBECALC.001 are overlay files which
contain various features and functions of QubeCalc. When
QubeCalc needs to access one of these features or functions,
it reads the code for that feature in from QUBECALC.000 or
QUBECALC.001. The advantage of using an overlay
structure is that the program uses up less memory, thereby
freeing up more RAM to put your spreadsheets in.
If you place the overlay files (QUBECALC.000 and
QUBECALC.001) on a hard disk or in a RAM disk in
extended memory, you should not notice any significant
delay when these features are accessed. If the overlay files
are on a floppy disk, you may notice a small delay when
accessing these features. If you have a floppy based system
and cannot tolerate the short delays, you may place the
overlay files in a RAM disk.
8
QubeCalc needs to know where you place the overlay files.
By default, QubeCalc assumes that the overlay files are in
the directory where you start up QubeCalc. If you place
the overlay files in a RAM disk or in a directory other than
where you start the program, then you must run the setup
program to create a configuration file which tells QubeCalc
where you put the overlays.
The setup program can also be used to tell QubeCalc where
you placed the help file and which directory you want to
use as the startup data directory. It will also let you
customize the screen colors which QubeCalc uses.
MAKING A BACKUP
The first thing you should do is make a backup copy of all
the files on the QubeCalc disk. Put this backup away in a
safe place in case you waste your working copy. The files
which you should find on your disk are:
QUBECALC.COM - The QubeCalc program.
QUBECALC.000 - An overlay (part of the program).
QUBECALC.001 - An overlay (part of the program).
REGISTER.DOC - License and registration form.
QUBECALC.HLP - The HELP file.
CONVERT.COM - Converts version 1 and 2 files.
GET123.COM - A program to import 1-2-3 files.
IMPORT.COM - Imports DIF and dBASE files.
EXPORT.COM - Exports DIF, dBASE, and Lotus files.
QUBECALC.DOC - The on disk documentation.
PRINTDOC.BAT - Prints the on disk documentation.
HARDDISK.BAT - Installs QubeCalc on a hard disk.
SETUP.COM - The setup program.
EXAMPLE.QUB - An example data file.
README - New features, etc.
9
FLOPPY DISK BASED SYSTEM
Place the QubeCalc disk into the current drive and type
QUBECALC at the DOS prompt. If you do not put the
overlay files (QUBECALC.000 and QUBECALC.001) into a
RAM disk, or if you wish to make use of the Help facility
(and don't put the help file into a RAM disk), you must
leave the QubeCalc disk in the drive (because that is where
the help and overlay files will be located).
HARD DISK BASED SYSTEM
Change to the A: drive. Then place the QubeCalc disk into
the A: drive and type HARDDISK. This program will create
a directory named \QUBECALC on the C: drive and will
copy all of the files from the QubeCalc disk into the new
directory. QubeCalc can then be run by first changing to
the \QUBECALC directory and typing QUBECALC at the
DOS prompt.
The best setup is to leave all of the files in the
\QUBECALC directory, and always start up from within that
directory. That way, QubeCalc will always know where all
of it's system files are (overlays, help, etc.).
10
HOW TO RUN QUBECALC
QubeCalc may be run by simply changing to the \QUBECALC
directory and typing:
QUBECALC
followed by a carriage return.
QubeCalc also provides a shortcut for the first file you
want to load. If you want to start up with a particular
file, you may supply the file name on the command line and
that file will be loaded when the program comes up. For
example, if you want to use a file named TAXES.QUB, then
type the following when you first run QubeCalc:
QUBECALC TAXES
You may provide a full pathname for the file, otherwise
QubeCalc will look for the file in either the current
directory, or in the startup data directory you specified
using the SETUP.COM program.
11
THE SETUP PROGRAM
A setup program is included to let you customize QubeCalc.
This setup program (named SETUP.COM) allows you to set
several parameters and then creates a file named
QUBECALC.CFG. When you run QubeCalc it looks for the
QUBECALC.CFG file in the same directory as the QubeCalc
program. If this file is not found or doesn't exist (because
you haven't run SETUP.COM) then QubeCalc will use its
own preset values. This program is run by changing to the
QUBECALC directory and typing SETUP at the DOS prompt.
You may choose your own favorite colors for the QubeCalc
screen (if you have a color monitor). The F1 through F6
function keys allow you to select the foreground and
background colors for the various parts of the QubeCalc
display. The F7 function key allows you to select the color
you wish to use when creating a graph. Pressing any of
these keys simply changes the appropriate part of the
display to the next available color.
You can also set a startup data drive and directory which
QubeCalc will use as the location for data files when it is
first run. Pressing the F8 function key will place you into
edit mode so that you may enter a drive and directory
name. Once your changes have been made, just hit return
to exit from edit mode.
If you want QubeCalc to use your default directory as the
startup data directory, then simply leave the startup
directory name blank.
The F9 and F10 function keys allow you to specify which
directories QubeCalc should look in to find its overlay and
help files. For example, if you placed the overlay files into
a RAM disk named D:, then you would need to press the F9
key and enter D: as the overlay directory.
If you don't specify an overlay or help directory, then
QubeCalc will use the directory you started QubeCalc from
as the overlay and help directory.
12
Once you are happy with the colors you have selected and
the startup directory, just hit Alt-S (hold down the Alt key
and press S) to create the QUBECALC.CFG file. If you
decide you would rather not create a new QUBECALC.CFG
file, then the ESC key will exit without creating the file.
If you don't like your new colors or startup data directory
after all, you can either run SETUP.COM again, or just
delete QUBECALC.CFG and let QubeCalc use its defaults.
NOTE
An increasing number of users are using systems which have
a color card but a monochrome monitor. QubeCalc will
work with such a system, but the setup program must be
run first.
QubeCalc detects whether a color card is present. If a
color card is detected, QubeCalc will use its color mode.
The colors used for the cell pointer and axes, however, do
not map to inverse video on a monochrome monitor.
Here is the procedure to take care of this situation:
1. Run SETUP as described above.
2. Set the colors to be:
- WorkQube White on Black
- Cell and Axes Black on Light Gray
- Block Black on Light Gray
13
WHERE TO GO FOR HELP
If you find yourself in need of help while using QubeCalc it
is only a keystroke away. QubeCalc provides what is known
as interactive context-sensitive HELP screens. Interactive
means that you can easily switch from one HELP screen to
another. Context sensitive means that QubeCalc is keeping
track of what you are doing so that it can provide the
proper HELP screen when you ask for it.
In order to call up a HELP screen all you need to do is hit
the [F1] HELP key. QubeCalc will pop up a HELP screen to
assist with whatever you are currently doing. If the HELP
screen provides the information you need, then you simply
hit the ESC key to return to what you were doing.
The HELP screen will also list several other HELP screens
which are related to what you are doing. You may select
one of these HELP screens by simply using the arrow keys
on the cursor pad to move the highlight bar to the name of
the HELP screen desired, and then hit the Return key.
The HELP screen named <HELP INDEX> is a special HELP
screen which provides an index of the major HELP screens
available.
14
THE DISPLAY
The QubeCalc screen looks much like the screen of any
other spreadsheet.
It consists of cells laid out in rows and columns. At the
top of each column in the WorkQube is a letter (or 2
letters) of the alphabet. This letter (or letters) provides a
means of telling columns apart. The first 26 columns are
labeled with the letters A through Z. Since there are 64
columns but only 26 letters, the remaining columns must use
2 letters to identify them.
To the left of each row in the WorkQube is a number to let
you know which rows you are looking at. The top row in
the WorkQube is row 1 and the bottom is row 64.
The area where a row and a column cross is known as a
"cell". Each cell in the WorkQube is identified by the letter
(or letters) of the column it is in, the number of the row it
is in, and the number of the page it is in. For example,
the cell that is in column BX and row 29 on page 4 is
named BX29;4 (the column letters always come before the
row number, and the page number is separated by a
semicolon). Each one of the cells may contain some text, a
number, or a formula.
The QubeCalc screen also provides information such as the
number of bytes available for data, the current directory for
data files, the name of the current file (if any), the current
block for recalculation, and a cell status line. The cell
status line is located in the top lefthand corner of the
screen and looks something like this:
[C]B4;5: NUMBER (9)
Each component of the above line tells you certain
information about the current perspective and cell. The [C]
tells you that you are currently viewing perspective C (see
the next section for more information on perspectives). The
B4;5 tells you that the cell you are currently at is in
column B, row 4, and page 5.
15
The next item "NUMBER" tells you what type of item is in
the current cell (this item can be either BLANK, TEXT,
NUMBER, FORMULA, or ERROR). And finally, the value in
the parentheses (9) tells you what the width of the current
cell is set to.
The next to bottom line on the display is an index to the
function keys (F1 through F10) so you don't have to
memorize or look them up all the time.
16
THE WORKQUBE
The QubeCalc spreadsheet (known as the WorkQube) may be
most easily thought of as a large cube containing 262,144
cells. These cells are arranged into 64 rows, 64 columns,
and 64 pages. Each one of the cells may contain some text,
a number, or a formula.
PAGE 64
FACE C
PAGE 3
B
PAGE 2
E
A B C D E F .. C
1 A
2 F
3 PAGE 1
4 FACE A
5
6
:
There are six (6) different faces on the WorkQube (just like
on a toy block), which are named A, B, C, D, E, and F.
Faces A, B, and C are shown above. Face D is on the
opposite side of the block from Face A, Face E is opposite
Face B, and Face F is opposite Face C.
QubeCalc provides a familiar spreadsheet window into each
of these 6 faces, which allows you to view, enter, or
otherwise manipulate your data from any of the 6 faces of
the WorkQube. This provides 6 different perspectives of the
data stored within the WorkQube.
17
The easiest way to see the power of QubeCalc is by
example.
1. Start up QubeCalc by typing: QUBECALC EXAMPLE
This will run QubeCalc and automatically load the 3D
spreadsheet named EXAMPLE.QUB. This file contains a
small 3D spreadsheet. This small spreadsheet lists the
amount of money spent in several budgets during January,
April, July, and October. Each page of the 3D spreadsheet
provides this data for a different year. Play with the PgUp
and PgDn keys to change pages and see this data.
2. Now, move the cell pointer to cell D7;3 (this is cell D7
on page 3). This is the value spent on rent for April 1983.
3. We will now use the /WorkQube Perspective command to
let us see how this value compares with April rents in other
years. Since these values are now in different pages, and
we want them to be in adjacent columns, we want to rotate
the WorkQube so that we are looking at our data from Face
B. Change to Perspective B by pressing the slash key /,
then W (for WorkQube), then P (for Perspective), and then
B (to change to Face B). You will instantly see the Rent
paid in April of 83, 84, 85, 86, and the total April payments.
4. You may have noticed that a cell's name changes from
face to face... for example: cell D7;3 in Face A is cell C7;4
in Face B. This is simply because you are looking at your
data from a different perpective (or angle), and what are
columns in one face might be pages in another face... and
cell names change so that every face provides "lettered"
columns and "numbered" rows and pages. Don't worry about
cell references... they also change from face to face, so that
references always point to the same data, regardless of
which face they're in.
5. You may want to play around and look at this data from
all 6 perspectives (some perspectives provide more
information than others).
18
MOVING AROUND IN THE WORKQUBE
QubeCalc allows you to move to any of the 262,144 cells in
the WorkQube. You go to a new cell by moving the "cell
pointer". The cell pointer is a highlighted bar on the
screen which "points to" the cell in the WorkQube which is
the current cell.
QubeCalc provides several ways of moving the cell pointer
around in the WorkQube. Any of these methods of moving
can be used anytime you need to move the cell pointer to
another location, including when you are defining a 3D
block of cells.
The Arrow keys on the cursor pad can be used to move the
cell pointer up, down, left, or right one cell position. If
you try to move the cell pointer beyond the edge of the
screen, the screen will scroll to the next row or column
(assuming there is a row or column to scroll to).
The PgUp key moves the cell pointer up to the next higher
page number. The cell pointer will be moved to the cell
with the same row coordinate and column coordinate (but
the next higher page coordinate) as the cell you moved
from.
The PgDn key moves the cell pointer down to the next
lower page number. The cell pointer will be moved to the
cell with the same row coordinate and column coordinate
(but the next lower page coordinate) as the cell you moved
from.
The Home key moves the cell pointer to the top left corner
of the current page (the first row and the first column).
The End key moves the cell pointer to the lower right
corner of the current page (the last row and the last
column).
19
The Ctrl Right Arrow and Ctrl Left Arrow keys let you
move one screen's worth of columns to the right or left.
These key sequences are generated by holding down the
control key (Ctrl) and pressing either the left or right
arrow.
The Ctrl PgUp and Ctrl PgDn keys let you move up or down
one screen's worth of rows. These key sequences are
generated by holding down the control key (Ctrl) and
pressing either the PgUp or PgDn key.
QubeCalc also provides two additional functions to help you
move to another cell. These two functions are the GOTO
and the FIND functions.
When you press the [F5] GOTO function key, QubeCalc asks
you which cell you want to go to. You just type in the
cell name and hit return... and off you go! For example, if
you want to go to cell AC53, then simply hit the [F5]
GOTO key, type "AC53" (without the quotes) and hit the
return key. If the address is a valid one then the cell
pointer will be repositioned to the new cell location. The
current face and all other settings will remain unchanged.
The [F6] FIND function can be used to search the
WorkQube for a match of a string which you enter. When
you hit the [F6] FIND key QubeCalc will display this menu:
Repeat Contents Display
If you select Contents then QubeCalc will ask you to type
in what you want to search for, and will compare your
string with the contents of each cell (the formula, or the
number in the cell, etc.).
If you select Display then QubeCalc will ask you to type in
what you want to search for, and will compare your string
with each cell's display (the formatted display of the cell
value).
20
If you select Repeat then the most recent string will be
searched for again. Notice that this is the first item in the
menu. This is so that you may perform repeated searches
by simply typing [F6] and the return key.
QubeCalc will find any cell which contains the string you
ask for, even if it is buried within a longer string. For
example, if you ask to find cells which contain "he", then
QubeCalc will find cells containing "the", "hello", etc. The
search is also case sensitive (in other words "He" does NOT
match "he").
21
ENTERING DATA INTO THE WORKQUBE
Each cell in the WorkQube may hold either a number, some
text, or a formula. You may enter any of these items into
a cell by simply typing what you want on the command line.
You may enter up to 70 characters worth of data into each
cell. The data will be entered into the cell when you hit
the return key or one of the movement keys on the cursor
pad (arrows, PgUp and PgDn). If you finish entering the
data using the return key, the cell pointer will remain
positioned at the same cell. If you finish entering the data
using one of the movement keys, the data will be entered
into the current cell, and then the cell pointer will move to
another cell in the direction you specified.
NUMBERS
A number can be entered into a QubeCalc cell by simply
typing in the number. The number which you enter will be
placed in the cell which is currently highlighted by the cell
pointer.
A number can be anything in the range from -1.0E+37 to
+1.0E+37, and can have up to 11 significant places. A
number may be entered in either standard notation (i.e.
12.345) or in scientific notation (i.e. 1234.5e-2).
TEXT
Text strings may be entered into a QubeCalc cell by simply
typing in the string. The text which you enter will be
placed in the cell which is currently highlighted by the cell
pointer. If the text contains more characters than the
column is wide, it will spill over into adjacent cells (if the
adjacent cells are blank). If the adjacent cells contain
data, then the extra characters in the text string will be
hidden from view (but they will still be in the cell).
22
There are four (4) special characters which may begin a
text string and which affect the way the text is displayed.
These characters are:
' causes the text to be left justified in the cell
" causes the text to be right justified in the cell
^ causes the text to be centered in the cell
\ causes the next character to be repeated
If text is entered without one of the above special
characters as the first character, the global (WorkQube)
justification character is placed on the text automatically.
When QubeCalc first starts up the WorkQube justification is
set as left ' justified. You can change this by selecting
/WorkQube Justify and making a new choice.
Once the text has been entered into a cell, you may change
the justification using either the /Cell Justify or the /Block
Justify commands (or use the [F2] EDIT function key to
enter edit mode and just change the justification character
to the one you want).
FORMULAS
A QubeCalc cell may contain a formula which is made up of
numbers (or text in some cases), references to values in
other cells, predefined functions, and mathematical, logical,
and comparison operators. The formula which you enter will
be placed in the cell which is currently highlighted by the
cell pointer.
A formula must begin with an equal sign '=' and may be as
complex as desired. For example...
=-2*@SIN(@IF(C2;3,@PI,@PI/2))/(@AVG($D14;2..F15;4))
The items beginning with an @ symbol in the example above
(@SIN, @IF, etc.) are just a few of QubeCalc's predefined
functions. These functions are described in the section
titled PREDEFINED FUNCTIONS.
23
The following operators are available to be used in a
formula (a and b can be any number, cell reference,
function, or formula):
MATHEMATICAL
a+b Addition
a-b Subtraction
a*b Multiplication
a/b Division
a^b Exponentiation
LOGICAL
a&b And (is true only if a is true AND b is true)
a|b Or (is true is a is true OR b is true)
~b Not (is false if b is true, and is true if b is false)
COMPARISON
a =b is true if a is equal to b
a<>b is true if a is NOT equal to b
a <b is true if a is less than b
a >b is true if a is greater than b
a<=b is true if a is less than or equal to b
a>=b is true is a is greater than or equal to b
In addition, the + operator can be used to concatenate 2
strings. For example:
"This is" + " a test" returns "This is a test"
24
Operations using these operators will follow the normal
order of precedence (order of precedence means the order
that operations are performed). The order of precedence is:
1. Exponentiation [ ^ ]
2. Negation [ - ]
3. Multiplication and Division [ *, / ]
4. Addition and Subtraction [ +, - ]
5. Comparison [ =, <, >, <=, >=, <> ]
6. Not [ ~ ]
7. And/Or [ &, | ]
where exponentiation is performed before negation and so
on. If you wish to change the order in which operations
are performed, then you may use parentheses in your
formulas. Operations which you place in parentheses will be
performed before those outside the parentheses.
EXAMPLE:
=2+3*4 evaluates as 14 (not 20) because the multiply has a
higher precedence than the addition. If you want the
addition to be performed first, then use parentheses to make
the equation look like =(2+3)*4.
If you enter a formula which QubeCalc considers invalid and
cannot evaluate, the formula you entered will be displayed
on the command line and the editing facility will be
invoked. The cursor will be placed near the part of the
formula which QubeCalc didn't like, and you may fix the
formula using the editing commands described in the section
titled EDITING THE CONTENTS OF A CELL.
The [F3] BLOCK key allows you to define a cell or block
reference to be placed in a formula (or any other type of
line for that matter) when you are entering data. This can
often simplify the chore of entering cell or block
references. The [F4] ABS key, when used in conjunction
with the [F3] BLOCK key, toggles the cell and block
references between absolute and relative. For more
information on these functions see the sections titled
DEFINING A BLOCK OF CELLS and ABSOLUTE AND
RELATIVE REFERENCES.
25
SPECIAL NOTE: When entering cell references (i.e. B3;4),
you may ignore typing in the page number (and the
semicolon) if the reference is to a cell on the same page as
the formula. If you leave the page number off, QubeCalc
will automatically add the current page number to the
reference when the formula is entered into the cell.
26
THE COMMAND MENUS
QubeCalc provides many powerful commands which are
available through the Command Menus. You may call up the
Command Menus by pressing the slash "/" key. This will
provide a list of Menu options across the top of the
WorkQube. The first menu that pops up when you hit the
slash key looks like this:
Cell Block WorkQube Insert Delete Print Graph File Quit
The word Cell will be in a highlighted bar. This bar is
known as the Menu Bar. Items from the Menu may be
selected in one of two ways. The first way is to simply
type the first letter of the Menu option desired. The
second way is to use the arrow keys to move the Menu Bar
to the desired Menu item and then press the return key to
select the item.
For example, if you wanted to perform an operation on a
file, you could start in one of 2 ways:
1. Hit the / key (which pops up the Main Menu), and then
type the letter "f" (for "File").
or
2. Hit the / key, then hit the right arrow 7 times (or the
left arrow 2 times) to move the Menu Bar on top of the
word "File", and then hit the return key.
Either of these methods will pop up a new menu (the "File"
menu). Items from all future menus may be also be selected
by typing the first letter or using the arrow keys.
If you ever get into a Menu that you don't want to be in,
just hit the escape key (ESC) to get out.
The /Cell command provides options dealing with the
contents of a single cell. For more information on this
command and its options see the section titled CELL
COMMANDS.
27
The /Block selection provides options dealing with the
contents of a block of cells which you define. For more
information on this command and its options see the section
titled BLOCK COMMANDS.
The /WorkQube selection provides options dealing with the
contents of all the cells in the QubeCalc workspace. For
more information on this command and its options see the
section titled WORKQUBE COMMANDS.
The /Insert command provides the capability to insert a
blank row, column, or page of cells into the WorkQube. For
more information on this command and its options see the
section titled INSERTING A ROW, COLUMN, OR PAGE.
The /Delete command provides the capability to delete a
row, column, or page of cells from the WorkQube. For
more information on this command and its options see the
section titled DELETING A ROW, COLUMN, OR PAGE.
The /Print command provides the capability and options to
print defined blocks of cells on a printer. For more
information on this command and its options see the section
titled PRINTING YOUR DATA.
The /Graph command provides the capability and options to
create graphs from data within QubeCalc. For more
information on this command and its options see the section
titled GRAPHING YOUR DATA.
The /File command provides the capability to save and load
all or part of the cells to/from a file. For more
information on this command and its options see the section
titled SAVING AND LOADING DATA FILES.
The /Quit command exits QubeCalc. The WorkQube is not
automatically saved... remember to save first! For more
information on this command and its options see the section
titled EXITING FROM QUBECALC.
28
SPECIAL FUNCTION KEYS
QubeCalc provides several special functions which have been
assigned to the 10 function keys F1, F2, .. F10. These
special functions are listed below, along with the name of
the section in this manual which provides more detailed
information about the function.
[F1] HELP Calls up a context sensitive HELP screen.
See: WHERE TO GO FOR HELP
[F2] EDIT Allows you to edit the contents of a cell.
See: EDITING THE CONTENTS OF A CELL
[F3] BLOCK Allows you to point when editing.
See: DEFINING A BLOCK OF CELLS
[F4] ABS Toggles between absolute/relative.
See: DEFINING A BLOCK OF CELLS
[F5] GOTO Allows you to go to a designated cell.
See: MOVING AROUND IN THE WORKQUBE
[F6] FIND Searches for a string in the WorkQube.
See: MOVING AROUND IN THE WORKQUBE
[F7] STAT Displays the status of the WorkQube.
[F8] MACRO Allows you to define/undefine user macros.
See: DEFINING AND USING MACROS
[F9] CALC Performs a recalculation of the WorkQube.
See: WORKQUBE COMMANDS (AUTOCALC)
[F10] GRAPHDisplays the current graph.
See: GRAPHING YOUR DATA
29
PREDEFINED FUNCTIONS
QubeCalc provides a large assortment of predefined
functions which may be used in formulas. These functions
generally fall into eight catagories; Mathematical,
Trigonometry, Statistical, Logical, Financial, Date/Time,
Special, and Text.
Most of these functions require one or more arguments. An
argument is a value which the function uses as an input to
provide an output value. An argument may be a number, a
text string, a reference to a value in another cell, or
another formula (in the case of the statistical functions, an
argument may also be a range or block of cells).
The function will return either a numerical or text value
and may be treated exactly like a number or text would be.
Functions may be nested as deeply as desired (just
remember that there is a 70 character per cell limit,
though). The function names must begin with an @ and
must be CAPITALIZED. If you provide an illegal argument
to a function it will return ERROR as the value.
MATHEMATICAL FUNCTIONS
@ABS(X) returns the absolute value of X.
@ABS(3.4) = 3.4
@ABS(-2.6) = 2.6
@EXP(X) returns e to the X power (e = 2.7). The value of
the argument must be less than 85.2 or an overflow will
occur and the @EXP function will return ERROR as the
value.
@EXP(3) = 20.0855
@EXP(-3) = 0.0498
@EXP(90) = ERROR
30
@LN(X) returns the natural log of X. The value of the
argument must be greater than 0 or the @LN function will
return ERROR as the value.
@LN(1000) = 6.9078
@LN(0) = ERROR
@LN(-1) = ERROR
@LOG(X) returns the log base 10 of X. The value of the
argument must be greater than 0 or the @LOG function will
return ERROR as the value.
@LOG(1000) = 3
@LOG(0) = ERROR
@LOG(-1) = ERROR
@INT(X) returns the integer part of X (the part of the
argument which is in front of the decimal point). The sign
of the value returned is the same as that of the argument.
@INT(2.34) = 2
@INT(-2.34) = -2
@FRAC(X) returns the fractional part of X (the part of the
argument which is after the decimal point). The sign of the
value returned is the same as that of the argument.
@FRAC(1.23) = .23
@FRAC(-1.23) = .23
@MOD(X,Y) returns X modulo Y (the remainder when X is
divided by Y). Since dividing by 0 is illegal, Y can not be
equal to 0.
@MOD(5,2) = 1
@MOD(5.2,2.2) = 0.8
@MOD(5,0) = ERROR
@RAND returns a random number which is greater than or
equal to zero and is less than one. The value of @RAND
will change to a new random value every time the WorkQube
is recalculated. Notice that @RAND does not require an
argument or parentheses.
31
@ROUND(X,Y) returns X rounded to Y decimal places.
@ROUND(123.456,-2) = 100
@ROUND(123.456,-1) = 120
@ROUND(123.456,0) = 123
@ROUND(123.456,1) = 123.5
@ROUND(123.456,2) = 123.46
@SQRT(X) returns the square root of X. The argument X
must be either zero or a positive number. If the argument
is negative then @SQRT will return the ERROR value.
@SQRT(16) = 4
@SQRT(-2) = ERROR
@FACT(X) returns X factorial. The argument must be
between 0 and 30 (including 0 and 30). If the argument is
not an integer value then the @FACT function will use the
value of the argument rounded to the nearest integer.
@FACT(5) = 120
@FACT(4.3) = 24
@FACT(4.7) = 120
@FACT(45) = ERROR
@SGN(X) returns the sign of X. If X is negative then
@SGN returns -1. If X is positive then @SGN returns 1. If
X is zero then @SGN returns 0.
@SGN(23.4) = 1
@SGN(-13.9) = -1
@SGN(0) = 0
@CELL returns the value of the cell pointed to by the cell
pointer. This function is provided mainly to be used with
the /Macro If command as a way for a macro to obtain the
value of the current cell. When the @CELL function is used
in a formula in the WorkQube, its value is updated only
when a recalculation takes place (just like any other
function). It is NOT updated every time the cell pointer is
moved.
32
TRIGONOMETRY FUNCTIONS
@PI returns the value of Pi (3.14159...). Notice that the @PI
function does not require an argument or parentheses.
@COS(X) returns the Cosine of X.
@COS(3) = -0.9900
@COS(@PI) = -1
@SIN(X) returns the Sine of X.
@SIN(3) = 0.1411
@SIN(@PI) = 0
@TAN(X) returns the Tangent of X.
@TAN(3) = -0.1425
@TAN(@PI/2) = ERROR
@ACOS(X) returns the Arc Cosine of X (the angle whose
cosine is X). The value of X must be in the range -1 to 1
or the @ACOS function will return ERROR as its value.
@ACOS(-0.9900) = 3
@ACOS(2) = ERROR
@ASIN(X) returns the Arc Sine of X (the angle whose sine
is X). The value of X must be in the range -1 to 1 or the
@ASIN function will return ERROR as its value.
@ASIN(0.1411) = 3
@ASIN(2) = ERROR
@ATAN(X) returns the Arc Tangent of X (the angle whose
tangent is X).
@ATAN(1) = .7854
33
STATISTICAL FUNCTIONS
QubeCalc provides seven statistical functions which will
calculate and return various statistics of a list of values.
The list may consist of numbers, references to values in
other cells, formulas, or a range or block of cells. Blocks
of cells are defined by using the cell names of two opposite
corners of the block separated by two periods (for example:
C14;2..D16;3. Each individual item in the list must be
separated by a comma.
EXAMPLE:
1.23
+ the value in the cell A1;1
+ 2*3.14159...
+ the sum of the values in each cell in the block
defined by the cells C14;2 and D16;3
=@SUM(1.23, A1;1, 2*@PI, C14;2..D16;3)
If a cell reference which is used as an argument to a
statistical function is blank it will be treated as having a
value of zero. Any BLANK cells in a BLOCK, however, will
be ignored by the statistical functions.
Any cells which contain TEXT will not be ignored and will
be treated as having a value of zero.
@AVG(list) returns the average of all the items in the list.
If the list contains only a block of all BLANK cells then
@AVG will return ERROR as its value (because blank cells
in a block are ignored and you can't take an average of no
values).
@AVG(0,1,2,3,4,5,6,7,8,9) = 4.5
@COUNT(list) returns the number of items in the list. A
number or formula is counted as 1 item, a cell reference is
counted as one item (even if it is BLANK), and a block is
counted as the number of non-BLANK cells in the block.
@COUNT(0,1,2,3,4,5,6,7,8,9) = 10
34
@MAXI(list) returns the maximum value in the list. If the
list contains only a block of all BLANK cells then @MAXI
will return ERROR as its value (because blank cells in a
block are ignored and you can't find a maximum of no
values).
@MAXI(0,1,2,3,4,5,6,7,8,9) = 9
@MINI(list) returns the minimum value in the list. If the
list contains only a block of all BLANK cells then @MINI
will return ERROR as its value (because blank cells in a
block are ignored and you can't find a minimum of no
values).
@MINI(0,1,2,3,4,5,6,7,8,9) = 0
@STD(list) returns the standard deviation of all the items in
the list. If the list contains only a block of all BLANK
cells then @STD will return ERROR as its value (because
blank cells in a block are ignored and you can't calculate a
standard deviation of no values).
@STD(0,1,2,3,4,5,6,7,8,9) = 2.87
@SUM(list) returns the sum of all the items in the list.
@SUM(0,1,2,3,4,5,6,7,8,9) = 45
@VAR(list) returns the variance of all the items in the list.
If the list contains only a block of all BLANK cells then
@VAR will return ERROR as its value (because blank cells
in a block are ignored and you can't calculate a variance of
no values).
@VAR(0,1,2,3,4,5,6,7,8,9) = 8.25
35
FINANCIAL FUNCTIONS
QubeCalc provides 4 financial functions. In these functions
the number of periods must be greater than zero and the
interest rate must be greater than or equal to -1 (if the
interest rate is 10%, the value of the Interest argument
should be 0.1 ).
In the functions where an Interest argument is required, the
Interest rate is per Period. For example, if your periods
are in months, then your interest rate should be the
interest rate per month (not per year).
@FV(Payment, Interest, Periods) returns the future value of
an annuity where Payment dollars are invested per period
for the number of Periods at the given percentage of
Interest.
@FV(100,0.01,36) = 4307.69
@PV(Payment, Interest, Periods) returns the present value of
an annuity where Payment dollars are received per period
for the number of Periods at the given percentage of
Interest.
@PV(100,0.01,36) = 3010.75
@PMT(Principal, Interest, Periods) returns the payment per
Period due for borrowing Principal dollars for the number of
Periods at the given percentage of Interest.
@PMT(5000,0.01,36) = 166.07
@CGR(Present Value, Future Value, Periods) returns the
compound growth rate per period for an annuity growing
from the present value to the future value over the given
number of periods.
@CGR(1000,1500,36) = 0.0194 (1.94%)
36
DATE AND TIME FUNCTIONS
QubeCalc represents dates as serial numbers where Jan 1,
1900 = 1, Jan 2, 1900 = 2, and so on. This number
represents the number of days from Dec 31, 1899. Time is
represented as a fraction of a day where midnight = 0.0,
noon = 0.5, 6:00PM = 0.75, and so on. This allows dates and
times to be manipulated with ordinary math operations. For
example, you could find out what day, month, and year 90
days from today is by simply adding 90 to the serial number
which represents today's date.
@NOW returns a number whose integer part is the serial
number for the current date and fraction part represents
the current time. To take advantage of this function you
need to set the time and date when you boot up, or you
must have a built in clock. If the current time and date
were 8:05:17 AM on July 4, 1976, then the @NOW function
would return the value 27945.337.
@DATE(Year, Month, Day) returns the serial number for the
given year, month, and day.
@DATE(1976,7,4) = 27945
@TIME(Hour, Minute, Second) returns the fraction for the
given hour, minute, and second.
@TIME(8,5,17) = 0.337
@TIME(20,5,17) = 0.837
@YEAR(X) returns the year for the serial date X.
@YEAR(27945) = 1976
@MONTH(X) returns the month for the serial date X.
@MONTH(27945) = 7
@DAY(X) returns the day for the serial date X.
@DAY(27945) = 4
@HOUR(X) returns the hour for the fraction time X.
@HOUR(0.337) = 8
@HOUR(0.837) = 20
37
@MINUTE(X) returns the minute for the fraction time X.
@MINUTE(0.337) = 5
@SECOND(X) returns the second for the fraction time X.
@SECOND(0.337) = 17
LOGICAL FUNCTIONS
@TRUE returns the value 1.
@FALSE returns the value 0.
@ISNUM(X) returns TRUE if X is a number.
@ISNUM(23) returns TRUE
@ISNUM("test") returns FALSE
@ISTEXT(X) returns TRUE if X is text.
@ISTEXT(23) returns FALSE
@ISTEXT("test") returns TRUE
@IF(CONDITION, ARG1, ARG2) If the value of CONDITION
is true (not equal to 0) then ARG1 is returned, otherwise
ARG2 is returned. The @IF function can return either text
or numerical values (or both) as ARG1 and ARG2.
@IF(2+3>4,11,@PI) = 11
@IF(2-3>4,11,@PI) = 3.14159
@IF(A1;1="Hello","Friendly","Hostile")
@IF(TAXES<0.2,TAXES,"Revolt!")
38
SPECIAL FUNCTIONS
@CHOOSE(SELECTOR, ARG1, ARG2,..., ARGN) If the value
of SELECTOR is 1 then ARG1 is returned, if SELECTOR is
2 then ARG2 is returned, and so on. If SELECTOR is
greater than the number of arguments provided, ERROR is
returned. If the value of SELECTOR is not an integer
value, then the @CHOOSE function will use the value of
SELECTOR rounded to the nearest integer. The @IF
function can return either text or numerical values (or both)
as ARG1 and ARG2.
@CHOOSE(3,2-1,@RAND,33,44) = 33
@CHOOSE(1,2-1,@RAND,33,44) = -1
@CHOOSE(0,2-1,@RAND,33,44) = ERROR
@CHOOSE(5,2-1,@RAND,33,44) = ERROR
@CHOOSE(DY,"Sun","Mon","Tue","Wed","Thu","Fri","Sat")
NOTE: The @CHOOSE function in Lotus spreadsheets
returns ARG1 if SELECTOR is 0 (not 1 like in QubeCalc).
This difference is important to remember if you import a
Lotus file which uses the @CHOOSE function.
@INDEX("block name",ColOffset,RowOffset,PageOffset)
returns the value of the cell in "block name" which is
RowOffset rows, ColOffset columns, and PageOffset pages
from the first cell in "block name". The top row of the
block has a RowOffset of 0, the left column of the block
has a ColOffset of 0, and the first page of the block has a
PageOffset of 0.
The "block name" does not actually have to be a complete
range. It may be a single cell (like "A1;1").
39
EXAMPLE: Using the spreadsheet page below (page 1 in
Face A)
A B C D E
1 abc def ghi jkl mno
2 11 22 33 44 55
3 pqr stu vwx yza bcd
4 66 77 88 99 123
@INDEX("A1;1",0,0,0) returns "abc"
@INDEX("A1;1",2,1,0) returns 33
@INDEX("A1;1",2,1,1) returns the value of the cell C3;2
@INDEX("B3;1",3,1,0) returns 123
@INDEX("BILL",3,1,0) returns 123 if cell B3;1 has been
named "BILL"
Notice that the "block name" is a string argument rather
than a simple block reference like A1;1..C5;3. This allows
you to pull several nifty tricks.
First, you should notice that
@INDEX("A1;1",1,2,3) and @INDEX(A1;1,1,2,3)
have VERY DIFFERENT MEANINGS!!!
The first function (using "A1;1") says to use cell A1;1 as the
first cell in the block.
The second function (using A1;1 without quotes) says to
look in cell A1;1, read what is in that cell, and use what
you have read as the first cell in the block. If, for
example, cell A1;1 contains the text Z29;6, then Z29;6 will
be used as the first cell in the block. This is known as
"indirect addressing". This means you can use a single
@INDEX function to access any number of different blocks.
40
You may also use the text functions to create different
"block names" in the same @INDEX function.
@INDEX("A1;"+@STRING(Z29;3,0),0,1,2) reads the value in cell
Z29;3, converts it to a string with the @STRING function,
tacks it onto the string "A1;" and uses this new string as
the "block name" to index into.
**NOTE** RowOffset, ColOffset, and PageOffset refer to the
row, column, and page offset in FACE A. If you are
viewing your data from a face other than face A, the offset
arguments will still be relative to face A. This is done to
keep the @INDEX function working the same regardless of
which face you happen to be viewing.
TEXT FUNCTIONS
QubeCalc provides the following functions which allow you
to manipulate strings (text). A text string used in a
formula must be enclosed with quotes "like this".
A formula which accepts text arguments may reference cells
which contain text. The referenced text may be either an
ordinary text cell or the results of a text formula.
EXAMPLES:
="Hi"+" there"
will return and display "Hi there" (without the quotes)
=A1;2+B3;4
will return and display "Hi there" (without the quotes)
if A1;2 contains "Hi" and B3;4 contains " there"
41
@UPPER(S) converts S to all upper case.
=@UPPER("Hello") returns "HELLO"
=@UPPER("HeLLo") returns "HELLO"
@LOWER(S) converts S to all lower case.
=@LOWER("Hello") returns "hello"
=@LOWER("HeLLo") returns "hello"
@LEN(S) returns the number of characters in S.
=@LEN("Hello there") returns 11
=@LEN("This is a test") returns 14
@VALUE(S) returns the number which S looks like.
=@VALUE("1.23") returns the number 1.23
=@VALUE("-43") returns the number -43.0
@STRING(number,x) returns a string which looks like the
number, with x digits after the decimal.
=@STRING(1.234,2) returns the string "1.23"
=@STRING(5.123,0) returns the string "5"
@FIND(string1,string2,x) finds the first occurance of string1
in string2 starting at position x. The first character of a
string is position 1, the next character is position 2, and so
on. (Note that this differs from 1-2-3, which calls the first
character position 0, the second character position 1, and so
on). The comparison is case sensitive (Upper and lower
case letters must match exactly). If you don't want case
sensitivity, then simply use the @UPPER function on both of
the string arguments. If a match is not found, then @FIND
will return a value of zero.
=@FIND("he","The cat is here",1) returns 2
=@FIND("he","The cat is here",3) returns 12
=@FIND("He","The cat is here",1) returns 0
@MID(S,start,n) returns n characters from S, starting with
position start.
=@MID("abcdefghij",2,3) returns the string "bcd"
=@MID("abcdefghij",9,5) returns the string "ij"
42
@LEFT(S,n) returns the n left characters from S
=@LEFT("This is a test",4) returns the string "This"
@RIGHT(S,n) returns the n right characters from S
=@RIGHT("This is a test",4) returns the string "test"
@REPLAC(STRING,START,N,NEWSTRING) removes N
characters from STRING starting at character START, and
inserts NEWSTRING into STRING at this same position.
@REPLAC can therefore be used as a replace, insert, or
delete function.
If you set N to zero, then @REPLAC will simply insert
NEWSTRING into STRING at position START.
If you set NEWSTRING to an empty string "", then
@REPLAC will simply delete N characters starting at
position START.
=@REPLAC("This is a test",11,4,"game") returns "This is a
game"
=@REPLAC("This is a test",11,0,"BIG ") returns "This is a
BIG test"
=@REPLAC("This is a test",5,3,"") returns "This a test"
43
CELL DISPLAY FORMATS
QubeCalc allows you to choose a number of different ways
to display numeric data (cells which contain numbers or
formulas). Changing the display format of a cell has no
affect on the number or formula in the cell, it just changes
how the result is displayed on the screen (or output to a
printer).
When a cell is first filled with data, the cell will take on
the global (WorkQube) format. You can see what this
format is by pressing the [F7] STAT key. The WorkQube
format may be changed by using the /WorkQube Format
command.
The format of a cell which already contains data may be
changed using either the /Cell Format command or the
/Block Format command.
If the formatted value contains more characters than the
cell is able to display, then the cell display will be filled
with asterisks (*******). You can fix this in one of two
ways. First, you can select a display format which requires
fewer characters to display (or reduce the number of digits
after the decimal point to be displayed). The second
method is to increase the cell width using the /Cell Width
command. Cell widths are described in more detail in the
next section.
The available formats are described below.
Numbers which are in cells with the GENERAL format are
displayed in as general a format as possible. If the number
is an integer value, then it will be displayed without a
decimal point or trailing digits. If the number has a
fractional part, then as many significant digits as possible
will be displayed. If the column is not wide enough to
display even the integer part of the number, then the
number will be displayed in scientific notation.
44
Numbers which are in cells with the CURRENCY format are
displayed with a leading dollar sign, and negative values are
enclosed within parentheses. You must specify how many
digits you want to be displayed after the decimal point.
You will also be asked whether you want commas to be used
to make large numbers more readable.
Numbers which are in cells with the FIXED format are
displayed with a specified number of places after the
decimal point displayed. You will also be asked whether you
want commas to be used to make large numbers more
readable.
Numbers which are in cells with the PERCENT format are
converted to a percentage value (multiplied by 100) and are
displayed with a trailing percentage sign. You must specify
how many digits you want to be displayed after the decimal
point. You will also be asked whether you want commas to
be used to make large numbers more readable.
Numbers which are in cells with the SCIENTIFIC format are
displayed in scientific notation. This format displays
numbers in the form M.MMME(+or-)XX where M.MMM is the
mantissa and XX is the exponent. Values which are
displayed with the scientific format will contain as many
significant digits as can be fit into the cell width (up to a
maximum of 11 significant digits).
VALUE GENERAL CURRENCY PERCENT SCIENTIF FIXED
1 1 $1.00 100.00% 1.000E+00 1.00
10 10 $10.00 1000.00% 1.000E+01 10.00
1.234 1.234 $1.23 123.40% 1.234E+00 1.23
-1 -1 ($1.00) -100.00% -1.00E+00 -1.00
-10 -10 ($10.00) -1000.00% -1.00E+01 -10.00
-1.234 -1.234 ($1.23) -123.40% -1.23E+00 -1.23
45
Numbers which are in cells with the DATE format are
displayed as a date. QubeCalc represents dates as serial
numbers where Jan 1, 1900 = 1, Jan 2, 1900 = 2, and so on.
This serial number represents the number of days from Dec
31, 1899. This format uses the value in the cell rounded to
the nearest integer as the serial number, and generates a
display for the date corresponding to that number. There
are 4 available date formats which are shown below (along
with some examples).
VALUE dd-mmm-yy dd-mmm mmm-yy mm/dd/yy
1 01-Jan-00 01-Jan Jan-00 01/01/00
15000 24-Jan-41 24-Jan Jan-41 01/24/41
27945 04-Jul-76 04-Jul Jul-76 07/04/76
Numbers which are in cells with the TIME format are
displayed as a time. QubeCalc represents time as a fraction
of a day where midnight is the start of the day (0.0), noon
is half a day (0.5), 6PM is 0.75 of a day and so on. This
format uses the fractional part of the value in the cell, and
generates a display for the time corresponding to that
number. There are 2 available time formats which are
shown below (along with some examples).
VALUE AM/PM Military (24 Hour)
0.337 08:05:17AM 08:05:17
12.337 08:05:17AM 08:05:17
0.68 04:19:12PM 16:19:12
Numbers which are in cells with the HIDDEN format are
NOT displayed. The data is still in the cell and the number
(or formula) contents are still shown on the command line.
46
CELL WIDTHS
QubeCalc assigns a width to each cell in the WorkQube.
The width of a cell is a number which tells how many
characters can be displayed in the cell. This width is used
to help determine how wide the columns should be.
A width is assigned to each individual cell (instead of to
columns like in 2D spreadsheets) because each cell is a
member of 3 different columns (depending on which
Perspective you are looking at). Columns are automatically
adjusted to be the same width as the widest non-BLANK
cell in the column. If all the cells in a column are blank,
the column width is set to the global (WorkQube) width.
This allows column widths to remain flexible regardless of
which perspective you are viewing.
The width of a cell may be any number in the range 1 to
75. If a cell is not wide enough to display a formatted
value or formula, the cell display will be filled with
asterisks (*****). You may change cell widths either
individually (using the /Cell Width command) or as a block
(using the /Block Width command).
When the WorkQube width setting is changed (using the
/WorkQube Width command) it will affect only those cells
which will be filled in the future and will not affect those
cells which already contain data.
The width of the current cell is always displayed at the end
of the cell status line in the upper left hand corner. It is
the number which is enclosed in parenthesis... i.e. (9).
Special care needs to be taken when copying cells to other
locations. Because a width is assigned to each individual
cell (rather than to a column), if you copy a cell which has
a cell width larger than the column you copy it to, it will
increase the width of the new column.
47
ABSOLUTE AND RELATIVE CELL REFERENCES
Cell references in a formula can be either absolute or
relative. Absolute cell references begin with the character
"$" (for example $A1;1), but relative cell references do not
use any special character (for example A1;1).
The value of a formula is the same regardless of whether
cell references in the formula are relative or absolute. For
example, the formula =@SIN(A1;1) will have the same value
as =@SIN($A1;1). The purpose of relative and absolute
references is to let QubeCalc know what to do when moving
formulas around from cell to cell (for example: when
copying, inserting, deleting). You can have both absolute
and relative references in the same equation if you want.
An ABSOLUTE cell reference in a formula will ALWAYS
point to the exact same cell no matter where the formula is
moved to.
A RELATIVE cell reference in a formula ALWAYS points to
the cell which is a certain number of rows and columns
away. If the formula is moved, the new relative cell
reference will be adjusted to point to the cell the same
number of rows and columns away from the new cell.
EXAMPLE:
The cell at location C3;1 contains the formula =$A1;1+A1;1.
A B C D E
1 Absolute reference
2
3 =$A1;1+A1;1
4
5 Relative reference
6 (2 columns left & 2 rows up)
48
The first cell reference "$A1;1" is an absolute reference.
The value in cell A1;1 should ALWAYS be used as the value
of this reference (even if the formula is copied or moved).
The second reference "A1;1" is a relative reference (because
it has no "$"). Since cell A1;1 is 2 columns to the left of
and 2 rows above cell C3;1, the value of this reference is
taken from the cell which is 2 columns to the left of and 2
rows above the formula (even if the formula is copied or
moved).
If the contents of cell C3;1 is now copied to cell D5;1, the
contents of D5;1 will be =$A1;1+B3;1.
A B C D E
1 Absolute reference
2
3
4
5 =$A1+B3
6
Relative reference
(2 columns left & 2 rows up)
Notice that the absolute reference did NOT change (it still
points "ABSOLUTELY" to cell A1;1), but the relative
reference was adjusted so that it points to cell B3;1 (cell
B3;1 is the cell which is 2 columns to the left of and 2
rows above the new cell D5;1).
Relative references to other pages are also adjusted when a
page is inserted or deleted, or data is copied from one page
to another.
49
DEFINING A 3D BLOCK OF CELLS
QubeCalc provides many functions and commands which
operate on a 2 dimensional range of cells or a 3 dimensional
block of cells (for example, the [F3] BLOCK function and all
of the /Block commands). These commands require you to
define a block of cells to perform the operation on. There
are two different ways to define a block of cells.
1. You may simply type in the block. This block consists
of two cell references separated by two periods (for example
A1;1..Z20;5). The two cell references (in this case A1;1 and
Z20;5) should be the cells at opposite corners of the block
to be defined.
2. You may also define a range or block of cells by
highlighting the desired block and then pressing the return
key.
When a block is being defined all the cells in the block
(which are visible) will be highlighted on the screen. On
the command line you will see either a single cell address
or a block address (2 cell addresses separated by 2 periods).
A single cell address means that an "anchor" cell has not
been selected. In this case, moving around with the arrow
keys or the PgUp or PgDn key simply moves the cell
pointer to a new cell, but does not highlight (or define) any
other cells. If an anchor cell has been selected then ALL
cells between the anchor cell and the current cell are
defined (and highlighted if visible).
The following keys are useful (or necessary) when defining
a block:
The arrow keys, PgUp, PgDn, Ctrl Left Arrow, Ctrl Right
Arrow, Ctrl PgUp, and Ctrl PgDn allow you to move the cell
pointer around.
The Return key causes all the cells in the block on the
command line to be defined. If only a single cell reference
is displayed when you press the return key, then that cell
will be defined.
50
Typing a period (.) when defining a block sets the anchor to
the current cell. If an anchor was set before you pressed
the period then it is released before the new one is set.
The ESC key releases the anchor if it is set. If the anchor
is not set and you type the ESC key then you are returned
to whatever you were doing before you started defining the
block.
The [F4] ABS key toggles the block cell references between
absolute and relative types. If no anchor is set then the
first coordinate is toggled. If the anchor has been set then
the [F4] key will toggle the non-anchor reference. The two
types of cell references are described in more detail in the
section titled ABSOLUTE AND RELATIVE CELL
REFERENCES.
The [F5] GOTO & [F6] FIND keys allow you to GOTO a
given cell or FIND a given string during a block definition.
These functions allow you to move around the WorkQube
during a block definition without having to use the cursor
movement keys. These commands are described in the
section titled MOVING AROUND IN THE WORKQUBE.
51
EDITING THE CONTENTS OF A CELL
QubeCalc provides the ability to edit the data in a cell.
You can call this editing function by hitting the [F2] EDIT
key (if there is anything in the cell to edit). Also, if you
make an error when entering a formula this editing
capability will be called automatically.
The Left arrow and Right arrow keys move the cursor one
character to the left or right.
The Home and End keys move the cursor to the first and
last characters in the line.
The Backspace key deletes the character to the left of the
cursor and shifts the following characters in the line to the
left to fill in the empty space.
The Ctrl-Backspace sequence deletes the entire line.
The Delete key deletes the character underneath the cursor
and shifts the following characters in the line to the left to
fill in the empty space.
The Insert key toggles between insert and overwrite modes.
When you are in insert mode, typing a character will insert
the new character into the line at the point where the
cursor is. The character under the cursor and those to the
right of the cursor are shifted to the right to make room
for the new character. When you are in overwrite mode,
typing a character will replace the character under the
cursor with the new character.
When you select insert mode, it will remain in effect until
you change it (it doesn't go back to overwrite mode as soon
as you finish editing). If you are in insert mode, the letter
"I" will be visible on the bottom line of the screen between
the memory indicator and the AutoCalc status.
52
If you attempt to edit a cell which contains a link to
another spreadsheet, you will be allowed to edit both the
name of the file to link to, and the name of the block to
link to.
There is a shortcut available when you are entering a cell
reference or a block reference in a formula. This shortcut
involves using the [F3] BLOCK function key. Rather than
typing in cell or block references (for example,
B14;2..C15;3), the [F3] BLOCK key allows you to use the
movement keys to move the cell pointer to "point" to the
cell (or cells) you want to be in the formula. The cell
reference (or the block reference if you are defining a
block) are inserted into the formula you are entering. This
reference will be adjusted in the formula as you move the
cell pointer around the WorkQube. When the reference is
the one you want, you simply hit the return key to continue
entering the rest of the formula.
As an example, lets say you want to enter a formula in the
current cell which takes the absolute value of the cell just
below the current cell. You would first type:
=@ABS(
Then, instead of typing in the name of the cell below the
current cell, you could simply hit the [F3] BLOCK key.
This would put the name of the current cell into the
formula like this:
=@ABS(C14;2
You could then type the Down Arrow to move the cell
pointer down one cell. This would change the C14;2 in the
formula above to the name of this new cell:
=@ABS(C15;2
53
Since this is what you wanted, you just hit the return key
to allow you to finish your formula. Then just type the
right parentheses ) and hit the return key to enter the
formula into the cell. More information on defining blocks
can be found in the section titled DEFINING A 3D BLOCK
OF CELLS.
Whenever you are in the [F3] BLOCK mode you may use the
[F4] ABS function key to toggle the cell or block references
between ABSOLUTE and RELATIVE (this toggles the "$" on
and off). More information on the two types of cell
references can be found in the section titled ABSOLUTE
AND RELATIVE CELL REFERENCES.
54
CELL COMMANDS
The /Cell option of the main menu provides several
commands to manipulate the contents and status of a single
cell. The cell which is affected is the one which is
currently highlighted on the screen by the cell pointer and
is known as the current cell. The /Cell commands which
are available are:
Format Width Erase Justify Copy
CELL FORMAT
The /Cell Format command allows you to set or change the
way numerical data in the current cell is displayed.
Numerical data means either a number or a formula (which
yields a number). If the cell is BLANK then the format will
NOT be changed and the cell will continue to have the
WorkQube Format (which can be changed using the
/WorkQube Format command). The available formats are
Currency, Fixed, Percent, Scientific, Date, Time, General,
and Hidden. For more information on formats see the
section titled CELL DISPLAY FORMATS.
CELL WIDTH
The /Cell Width command allows you to change the number
of characters which can be displayed in the current cell. If
the cell is BLANK then the width will NOT be changed and
the cell will continue to have the WorkQube Width (which
can be changed using the /WorkQube Width command). The
width of a cell can be any value in the range 1 to 75. For
more information on cell widths see the section titled CELL
WIDTHS.
55
CELL ERASE
The /Cell Erase command allows you to erase the contents
of the current cell. All the characteristics of the current
cell will return to the global (WorkQube) settings. This
includes the display format, the number of digits after the
decimal point, and the cell width. The cell type will be
reset to BLANK and the memory used by the cell will be
deallocated for use by future data.
CELL JUSTIFY
The /Cell Justify command allows you to change the way
text strings are displayed (justified) in the current cell.
Text may be left justified, right justified, or centered in the
cell. If the cell is BLANK then the justification will NOT
be changed and the cell will continue to have the WorkQube
Justification (which can be changed using the /WorkQube
Justify command). For more information on justification see
the section titled ENTERING DATA INTO THE WORKQUBE
(Text).
CELL COPY (REPLICATE)
The /Cell Copy command allows you to copy a single cell to
a 3 dimensional block of cells. First, move the cell pointer
to the cell to be copied, then select the /Cell Copy
command. You will then be asked to define the block to
copy the cell to. You may use any of the movement keys
(including the [F5] GOTO and [F6] FIND keys) to define the
block as described in the section titled DEFINING A 3D
BLOCK OF CELLS.
Once the block has been defined the contents of the
original cell will be copied into each cell in the block. If
the original cell contains a formula with relative cell
references, those references will be adjusted when they are
copied to the new cells (for more information on relative
cell references see the section titled ABSOLUTE AND
RELATIVE CELL REFERENCES.
56
BLOCK COMMANDS
The /Block option of the main menu provides several
commands to manipulate the contents and status of a
defined block of cells. The defined block may consist of a
single cell, a 2 dimensional range of cells, or a 3
dimensional block of cells. The block is defined as
described in the section above called DEFINING A 3D
BLOCK OF CELLS. The /Block commands which are
available are:
Format Width Erase Justify Copy DataFill Name Link Sort
BLOCK FORMAT
The /Block Format command allows you to set or change
the way numerical data in each cell in a block is displayed.
Numerical data means either a number or a formula (which
yields a number). All of the cells in the defined block
which contain data will be set to the new format that you
choose. Cells in the block which are BLANK, however, will
NOT be changed and the cell will continue to have the
WorkQube Format (which can be changed using the
/WorkQube Format command). The available formats are
Currency, Fixed, Percent, Scientific, Date, Time, General,
and Hidden. For more information on formats see the
section titled CELL DISPLAY FORMATS.
BLOCK WIDTH
The /Block Width command allows you to change the number
of characters which can be displayed in each cell in a
block. All of the cells in the defined block which contain
data will be set to the new width that you choose.
Cells in the block which are BLANK, however, will NOT be
changed and the cell will continue to have the WorkQube
Width (which can be changed using the /WorkQube Width
command). The width of a cell can be any value in the
range 1 to 75. For more information on cell widths see the
section titled CELL WIDTHS.
57
BLOCK ERASE
The /Block Erase command allows you to erase the contents
of all the cells in a block. All the characteristics of every
cell in the defined block will return to the global
(WorkQube) settings. This includes the display format, the
number of digits after the decimal point, and the cell width.
The cell type of each cell will be reset to BLANK and the
memory used by the cells will be deallocated for use by
future data.
BLOCK JUSTIFY
The /Block Justify command allows you to change the way
text strings are displayed in each cell in a block. Text may
be left justified, right justified, or centered in each cell.
All of the cells which contain TEXT will be set to the new
justification that you choose. Cells in the block which are
BLANK, however, will NOT be changed and the cell will
continue to have the WorkQube Justification (which can be
changed using the /WorkQube Justify command). For more
information on justification see the section titled ENTERING
DATA INTO THE WORKQUBE (Text).
BLOCK COPY
The /Block Copy command allows you to copy a 3D block of
cells to the current cell location. First, move the cell
pointer to the cell where you want the block of cells copied
to. Then select the /Block Copy command. You will then
be asked to define the block which is to be copied. You
may use any of the movement keys (including the [F5]
GOTO and [F6] FIND keys) to define the block as described
in the section titled DEFINING A 3D BLOCK OF CELLS.
Once the block has been defined the block of cells will be
copied to the new location. The upper, left cell on the
lowest page in the block will be the one which is copied
into the current cell. If any cells in the block contain a
formula with relative cell references, those references will
58
be adjusted during the copy to the new location (for more
information on relative cell references see the section titled
ABSOLUTE AND RELATIVE CELL REFERENCES.
If the block you define to copy with the /Block Copy
command is a two dimensional range (not multiple pages),
then QubeCalc will ask you how many pages you want to
copy it to. This allows you to create a spreadsheet
template on one page, and then copy that template to as
many pages in the WorkQube as you want (or have memory
for).
As an example of how this works:
1. Goto the first page you want something copied to.
2. Select the /Block Copy command.
3. Go define the 2D range (or page) you want copied.
4. QubeCalc will now ask you how many pages you want to
copy to.
5. Enter the number of pages to copy to.
BLOCK DATAFILL
The /Block DataFill command provides a way to fill a
specified block of cells with a sequence of numbers. You
are asked for an equation which is used to determine the
values placed in each of the cells to be filled. This
equation may be any legal formula containing numbers,
operators, cell or block references, or functions. In
addition, the DataFill command provides a variable named #
which is initialized to 0 and is incremented by 1 for each
cell in the block. This variable may be used anywhere
within the equation to provide an endless number of
sequences which may be generated. The cells in the block
are filled in the default WorkQube order (which may be
changed using the /WorkQube Order command).
59
A sample of some equations and the types of sequence they
generate is:
=# (or simply hitting return) generates a sequence from 0 to
the of cells in the block. (0,1,2,3,4,5,6...)
=#*3+5 generates a sequence starting with 5 and
incrementing by 3. (5,8,11,14,17,20...)
=@EXP(#) generates an exponential sequence (notice that
sequences are not limited to fixed step sizes as in other
spreadsheet fill commands!)
=@RAND generates a sequence of random numbers between
zero and one (with a uniform distribution).
BLOCK NAME
The /Block Name command allows you to give a name to a
cell or block of cells. This name can then be used
anywhere that a cell or block reference can be used.
For example:
If you assigned the name "COST" to cell C5;1 and "PRICE"
to D7;3 then:
1. The formula
=PRICE-COST is identical to =D7;3-C5;1
2. You can go to cell C5;1 by typing COST when using the
[F5]GOTO key.
60
If you assigned the name "PRICES" to the block B3;1..C6;3
then:
1. The formula
=@AVG(PRICES) is identical to =@AVG(B3;1..C6;3)
2. You can go to cell B3;1 by typing PRICES when using
[F5]GOTO. When you use the [F5]GOTO key to go to a
block, you will be placed at the near, upper left cell in the
block.
3. You can erase block B3;1..C6;3 (or perform any other
block command) by typing PRICES when you are asked for
the block to use.
You define a block name by selecting the /Block Name
command. When you select this command you will be
presented with the following menu:
Define Undefine List
DEFINE:
This option lets you name the cell or block. When you
select this option you are asked what name you would like
to give to the cell or block. This name must begin with a
letter of the alphabet and can be up to 8 characters long.
You are then asked to define the block to name. Just mark
off the block (or cell), hit return, and that's it.
UNDEFINE:
This option releases the block name which is associated with
a block. When you select this option, just enter the name
of the block to release and it will be done.
LIST:
This option lists the current block names (you can have up
to 51 block names defined in a spreadsheet).
61
BLOCK LINK
The /Block Link command allows you to link multiple
spreadsheets together. You are not limited to linking to a
single cell. You may link to an entire 3 dimensional block
within the other spreadsheet.
You create the link using the /Block Link command. The
link which you create will be placed in the cell which the
cell pointer is currently sitting on. When you select the
/Block Link command, you will be asked for two items:
1. The name of the QubeCalc file you want to link to. Do
not add the .QUB extension; QubeCalc will do this for you.
The file you want to link to must already exist, or QubeCalc
will ignore your entry.
2. The name of the block you want to link to. This block
name can be:
- a cell reference (example: C32;4)
- a block reference (example: B10;2..C13;5)
- a block name (example: INTEREST)
It is usually best to use a block name rather than a cell or
block reference in case the block reference you link to is
modified in some way.
The cell which you are sitting on when you create the link
will contain the actual link, and is known as the "link cell".
If you create a link to a single cell in another spreadsheet
file, then the link cell will take on the same value as the
cell in the other file. If you change the value of the cell
in the other file, the value of the linked cell will change
also.
62
If you create a link to a block of cells in another
spreadsheet file, then the link cell will take on the same
value as the cell in the upper left corner of the block in
the other file. The cells to the right of and below the link
cell will take on the values of the corresponding cells from
the block in the other file.
Links to cells or blocks in other spreadsheets always take
on the NUMERICAL value of the cells which they are linked
to. If you link to a cell which contains either TEXT or a
formula which returns a string value, then the link will take
on the value 0 for that cell.
BLOCK SORT
The /Block Sort command allows you to sort a range of
cells by row or column. When you select this command you
are presented with the following menu:
Block Key Options Go
Selecting Block lets you define the range of cells you want
sorted.
Selecting Key lets you select the row or column you want
to sort on.
Selecting Options lets you select whether you want to sort:
- ROWS or COLUMNS
- TEXT or NUMBERS
- in ASCENDING or DESCENDING order
Selecting Go performs the sort using the current range, key,
and options.
63
The sort is performed "in place". In other words, when the
data has been sorted, the rows (or columns) which are
sorted are the only ones which can change. Blank and
unsorted rows (or columns) are not "filtered up" to the top
of the range.
For example, supposed you wanted to sort the numbers in
following data in ascending order. When the sort is
finished, the numbers have been sorted, and the text
headers, underlining, and blank lines remain where they
were and are not filtered to the top or bottom.
BEFORE SORT AFTER SORT
HEADER 1 HEADER 1
6 1
3 2
4 3
2 4
HEADER 2 HEADER 2
7 5
1 6
5 7
Although QubeCalc only lists a single key to sort on, it is
actually possible to sort a range on as many keys as you
want. Simply sort the range on the last key first, the next
to last key second, and so on (the primary key will be the
last one you sort on).
64
For example, suppose you want to sort the following range
on the keys shown (all in ascending order):
KEY1 KEY2 KEY3
cat yellow 2
fish gold 1
dog brown 4
fish black 1
cat yellow 1
cat black 3
First sort on KEY3, using Rows, Numbers, Ascending. You
will get:
fish gold 1
fish black 1
cat yellow 1
cat yellow 2
cat black 3
dog brown 4
Next sort on KEY2, using Rows, Text, Ascending. You will
get:
fish black 1
cat black 3
dog brown 4
fish gold 1
cat yellow 1
cat yellow 2
And finally sort on KEY1, using Rows, Text, Ascending.
You will get:
cat black 3
cat yellow 1
cat yellow 2
dog brown 4
fish black 1
fish gold 1
65
WORKQUBE COMMANDS
The /WorkQube option of the main menu provides several
commands which affect the contents and status of the entire
WorkQube. The /WorkQube commands which are available
are:
Format Width Erase Justify
Perspective AutoCalc Order Color Title
WORKQUBE FORMAT
The /WorkQube Format command allows you to set the way
numerical data (number or formula) entered into a cell will
be displayed. Numerical data means either a number or a
formula (which yields a number). This command does NOT
affect any of the cells in the WorkQube which already
contain data. It is used to determine what format should be
used for BLANK cells which are filled with data in the
future. The available formats are Currency, Fixed, Percent,
Scientific, Date, Time, General, and Hidden. For more
information on formats see the section titled CELL DISPLAY
FORMATS.
WORKQUBE WIDTH
The /WorkQube Width command allows you to set the
number of characters which will be displayed in future cells.
This command does NOT affect any of the cells in the
WorkQube which already contain data. It is used to
determine what width should be used for BLANK cells which
are filled with data in the future. The width of a cell may
be any number in the range 1 to 75. For more information
on cell widths see the section titled CELL WIDTHS.
66
WORKQUBE ERASE
The /WorkQube Erase command allows you to erase the
contents of every cell in the WorkQube (clears the
WorkQube). This command will also reset all of the
WorkQube settings to their defaults (print and graph blocks,
macro definitions, etc). Because this command can have a
drastic effect if you use it accidently, QubeCalc will prompt
you first to make sure you really want to erase everything.
WORKQUBE JUSTIFY
The /WorkQube Justify command allows you to set the way
text strings entered into a cell will be displayed. Text may
be left justified, right justified, or centered in each cell.
This command does NOT affect any of the cells in the
WorkQube which already contain data. It is used to
determine what justification should be used for BLANK cells
which are filled with TEXT in the future. For more
information on justification see the section titled ENTERING
DATA INTO THE WORKQUBE (Text).
WORKQUBE PERSPECTIVE
QubeCalc allows you to look at (or enter) your data in any
of the six possible perspectives (or faces) of the WorkQube.
The six faces are named A thru F. Face A is the face of
the WorkQube which faces you when you first boot up
QubeCalc.
Face A - FRONT of the WorkQube.
Face B - RIGHT SIDE of the WorkQube.
Face C - TOP of the WorkQube.
Face D - BACK SIDE of the WorkQube.
Face E - LEFT SIDE of the WorkQube.
Face F - BOTTOM of the WorkQube.
67
The current face letter is provided in the upper left corner
in front of the current cell name (surrounded by square
brackets [] ). The current orientation of the WorkQube may
be changed using the /WorkQube Perspective command. This
will in effect rotate your data so that you may view it from
another perspective.
For example, suppose you have the following spreadsheets in
pages 1 through 3 of face A:
PAGE 1 (FACE A) PAGE 2 (FACE A) PAGE3 (FACE A)
A B A B A B
1 11 21 1 31 41 1 51 61
2 12 22 2 32 42 2 52 62
3 13 23 3 33 43 3 53 63
4 14 24 4 34 44 4 54 64
Every cell in the WorkQube lies directly behind the
corresponding cell on the previous page. For example, cell
B3 on page 3 (named B3;3) lies directly behind cell B3 on
page 2 (named B3;2), and cell B3;2 lies directly behind cell
B3;1.
Similarly, each column and row in the WorkQube lies
directly behind the correponding column or row on the
previous page.
Now, suppose you wanted to compare the values in column
A of page 1 to the values in column A of pages 2 and 3.
One way would be to use the PgUp and PgDn keys to
change back and forth between pages. The /WorkQube
Perspective command provides a much better way to do this
however.
Since the column A's are right next to each other (in
depth), it should be possible to display these columns next
to each other on the screen. This is done by rotating the
WorkQube (to face B in this case). When you rotate the
WorkQube, what were the "A" columns in pages 1, 2, and 3
of face A, become columns A, B, and C in page 1 of face B.
And the "B" columns from pages 1, 2, and 3 of face A
become columns A, B, and C in page 2 of face B.
68
PAGE 1 (FACE B) PAGE 2 (FACE B)
A B C A B C
1 11 31 51 1 21 41 61
2 12 32 52 2 22 42 62
3 13 33 53 3 23 43 63
4 14 34 54 4 24 44 64
For more information on rotating the WorkQube, see the
section titled THE WORKQUBE.
Sometimes you may find it desirable to transpose your data
(swap rows for columns). Some other spreadsheets allow
you to transpose rows and columns which contain numbers,
but can't transpose equations correctly. QubeCalc provides
the ability to transpose any set of rows and columns
correctly. All you need to do to transpose a set of rows
and columns is simply use the /WorkQube Perspective
command and switch your perspective to the face opposite
the one you are currently viewing!!!
WORKQUBE AUTOCALC
QubeCalc normally recalculates the WorkQube automatically
after any cell value is changed. The /WorkQube AutoCalc
command allows you to select how this automatic
recalculation feature (AutoCalc) will operate. The three
AutoCalc options are:
WorkQube Off Block Iteration
The WorkQube option causes the entire WorkQube to be
recalculated each time a cell value is changed.
The Off option causes the WorkQube to be recalculated only
when the [F9] CALC key is pressed.
69
The Block option allows you to define a block of cells
which will be recalculated each time a cell value is changed.
The cells in the defined block are the only cells which are
recalculated, so if formulas in the block you define to be
recalculated depend upon results from formulas outside of
the block, you may end up with some erroneous (wrong)
answers.
The Iteration option allows you to set a recalculation
interation count so that QubeCalc will make more than one
pass through the spreadsheet on each recalculation.
The [F9] CALC key recalculates the current AutoCalc block
shown at the bottom of the screen (even if AutoCalc is
turned off).
The recalculation status (On/Off) and the recalculation block
are always displayed at the bottom of the QubeCalc screen.
If the entire WorkQube is to be recalculated the block is
displayed as A1;1..BL64;64. The cells are recalculated in the
order set by the /WorkQube Order command.
WORKQUBE ORDER
Because QubeCalc is a TRUE 3-D spreadsheet there are six
(6) possible orders in which recalculation, datafilling, etc.
may be performed. The /WorkQube Order command allows
you to select any one of these possible orders, which are:
A) Columns change fastest, then Rows, then Pages
B) Pages change fastest, then Rows, then Columns
C) Rows change fastest, then Pages, then Columns
D) Rows change fastest, then Columns, then Pages
E) Pages change fastest, then Columns, then Rows
F) Columns change fastest, then Pages, then Rows
70
The default order is D. This is the order that QubeCalc
performs operations in when you first start up. You can
find out what the current order is with the [F7] STAT
function key. The WorkQube order will be followed as
above according to the perspective you are currently looking
at. The order is used when performing the following
functions: recalculation, copying blocks of cells, graphing,
and datafilling.
WORKQUBE COLOR
The /WorkQube Color command simply toggles the QubeCalc
display between color and black/white (if you have a color
card installed). Sometimes the contrast of black and white
is preferable to the preset colors.
WORKQUBE TITLE
The /WorkQube Title command allows you to lock (or hold)
title rows and columns on the screen.
The /WorkQube Title command acts as a toggle to turn
locking on and off. If you are in title lock mode, the letter
"L" will be visible on the bottom line of the screen between
the memory indication and the AutoCalc status.
When you turn title locking on, the rows above the cell
pointer and the columns to the left of the cell pointer will
be locked onto the screen. You cannot move the cell
pointer into rows and columns which have been locked on
the screen. You also cannot move the cell pointer into any
pages which lie below the page where you set title locking
on. The locked rows and columns will remain displayed on
the screen even when you move the cell pointer off the
right side or bottom of the screen. Only the unlocked rows
and columns will scroll.
71
If you don't want to lock rows, then make sure the cell
pointer is in row 1 when you title lock.
If you don't want to lock columns, then make sure the cell
pointer is in column A when you title lock.
If you don't want to lock pages, then make sure the cell
pointer is in page 1 when you title lock.
You can lock each of the 6 faces individually.
72
INSERTING ROWS, COLUMNS, OR PAGES
The /Insert option of the main menu allows you to insert a
blank row, column, or page into the WorkQube.
When the /Insert Row command is selected a new row is
inserted at the point where the cell pointer is located and
the rows at and below the cell pointer are shifted down to
make room for the new one. The bottom row in the
WorkQube is pushed off the end and is lost.
When the /Insert Column command is selected a new column
is inserted at the point where the cell pointer is located
and the columns at and to the right of the cell pointer are
shifted right to make room for the new one. The rightmost
column in the WorkQube is pushed off the end and is lost.
When the /Insert Page command is selected a new page is
inserted at the point where the cell pointer is located and
the pages at and behind the cell pointer are shifted out to
make room for the new one. The last page in the
WorkQube is pushed off the end and is lost.
All relative cell references in the WorkQube which point to
a shifted cell will be adjusted except for one exception.
Relative references which point to a cell which is lost due
to being pushed off the end of the WorkQube are NOT
adjusted to point somewhere off in HyperSpace. These
references will continue to point to the same cell location
as if they were absolute references.
73
DELETING ROWS, COLUMNS, OR PAGES
The /Delete option of the main menu allows you to delete a
row, column, or page from the WorkQube.
When the /Delete Row command is selected the row that the
cell pointer is on is removed and the rows below the cell
pointer are shifted up to fill in the deleted one. The
bottom row in the WorkQube is then filled with blank cells.
When the /Delete Column command is selected the column
that the cell pointer is on is removed and the columns to
the right of the cell pointer are shifted left to fill in the
deleted one. The rightmost row in the WorkQube is then
filled with blank cells.
When the /Delete Page command is selected the page that
the cell pointer is on is removed and the pages behind the
cell pointer are shifted in to fill in the deleted one. The
last page in the WorkQube is then filled with blank cells.
All relative cell references in the WorkQube which point to
a shifted cell will be adjusted except for one exception.
Relative references which point to a cell which is deleted
are NOT adjusted to point off somewhere in HyperSpace.
These references will continue to point to the same cell
location as if they were absolute references.
74
SAVING AND LOADING DATA FILES
The /File option of the main menu provides several ways of
saving and loading data to and from a disk file. The file
name must be a legal DOS name and must not contain an
extension. QubeCalc automatically assigns a .QUB extension
to all QubeCalc data files, so if you try to add your own
extension you will get either a "File not found" or an
"Illegal file name" error.
QubeCalc provides full path support. This means that you
can access files without having to change directories.
Simply type the full path name when you are asked for a
file name. If you do not provide a full path name, the file
will be written to (or read from) the current active
directory which is shown on the top line of the screen.
The /File commands which are available are:
Load Save Combine Extract Directory Files
The /File Save command asks you for a file name to save
the WorkQube to, and then writes the data to disk. In
addition to saving the data in the cells, QubeCalc will also
save all the WorkQube settings, any Macro definitions, all
the Print and Graph settings, and the current Face and cell
pointer position.
If the file name you provide is already being used in the
current directory, you will be asked whether you want to
Backup the existing file or else Overwrite it. If you select
Backup, the extension of the existing file's name will be
changed from .QUB to .BAK and the new file will be saved
with a .QUB extension.
The /File Extract command is similar to the Save command
except that it allows you to save a 3 dimensional block of
cells rather than the entire WorkQube (it "EXTRACTS" a
block of cells for saving). You will be asked to define a
block of cells to save. The defined block may consist of a
single cell, a 2 dimensional range of cells, or a 3
75
dimensional block of cells. The block is defined as
described in the section titled DEFINING A 3D BLOCK OF
CELLS. QubeCalc will also save all the WorkQube settings,
any Macro definitions, all the Print and Graph settings, and
the current Face and cell pointer position.
The /File Load command asks you for a file to be read in,
clears the WorkQube, and loads in the specified file. In
addition to loading the data in the cells, QubeCalc will also
load in the WorkQube settings, any Macro definitions, all
the Print and Graph settings, and the current Face and cell
pointer position. Since the /File Load command erases all
the data in memory before it can load in a new file, make
sure you do not have any unsaved data in the WorkQube
when you use this command.
QubeCalc provides a shortcut for the first file you want to
load. If you want to start up with a particular file, you
may supply the file name on the command line and that file
will be loaded when the program comes up. For example, if
you want to use a file named TAXES.QUB, then type the
following when you first run QubeCalc:
QUBECALC TAXES
You may provide a full pathname for the file, otherwise
QubeCalc will look for the file in either the current
directory, or in the startup data directory you specified
using the SETUP.COM program.
The /File Combine command allows you to combine several
QubeCalc files into a single file. QubeCalc asks you for a
file to be read in, and loads the file without clearing the
WorkQube. Any cells which were originally in the
WorkQube will remain unchanged after the /File Combine
command unless the new file contains data in those same
cells. Cells which are combined in that contain NUMBERS,
TEXT, or FORMULAS will overwrite existing cells, but cells
which are combined in that are BLANK will not have any
effect on existing cells.
76
All of the WorkQube settings, any Macro definitions, all the
Print and Graph settings, and the current Face and cell
pointer position will remain the same and will NOT be read
in from the new file.
The /File Directory command allows you to change to
another directory or drive. You may enter either a full
DOS pathname or simply a subdirectory name to be
appended to the current directory. For example, if the
current directory is B:\dir1 then entering:
C: switches to the active directory on the C: drive
C:\ switches to the root directory on the C: drive
C:\dir2 switches to dir2 on the C: drive
dir2 switches to B:\dir1\dir2 (if dir2 exists)
\ switches to B:\
The /File Files command displays the files in the current
directory. This command is similar to DOS's dir command.
The file listing command prompts you for a file mask. A
file mask is a string which is used to determine which files
to list. If you enter a single filename as the mask, then
only that file will be shown in the directory listing. You
may also use the wildcard characters * and ? (see your DOS
manual for more information on wildcard characters). The
default file mask is *.*, which provides a listing of all the
files in the current directory. If you only want to look at
QubeCalc files then you can specify the mask as *.QUB.
The /File Files command also lists any subdirectories which
match the mask you provide. Directories will be highlighted
on the display.
Hitting any key after the files have been displayed will
return you to the WorkQube.
77
PRINTING YOUR DATA
The /Print option of the main menu allows you to generate
a print out of your data. When you select the /Print option
you will be presented with a menu offering the choice of
printing to the Printer or to a File. If you select the File
option, QubeCalc will ask you for a file name to use, and
will send the same data to the file as it would normally
send to the printer. Sending data to a print file instead of
to the printer will allow you to read your printed
spreadsheet into your word processor and modify it or
merge it into a document. The /Print commands which are
available are:
Block Line Page Options ResetBlock Align Go
The /Print Block command lets you define the block of cells
to be printed. The defined block may consist of a single
cell, a 2 dimensional range of cells, or a 3 dimensional
block of cells. The block is defined as described in the
section titled DEFINING A 3D BLOCK OF CELLS.
QubeCalc can print up to 240 characters on one line. If
you define the Print block to be wider than 240 characters,
then only the first 240 characters of each line will be
printed. QubeCalc will print as many characters per line as
you define in the block (up to the 240 character maximum),
so if your printer can only print 80 characters on a line
and the Print block you define is 100 characters wide, the
extra 20 characters per line will still be sent to your
printer (and will either wrap around onto the next line or
will just be ignored by the printer).
The /Print ResetBlock command releases (undefines) the
block to be printed.
The /Print Align command tells QubeCalc that the printer
paper is at the top of the page. You should use this
command when you first get ready to print something.
First, adjust the paper in the printer so that it is at the
top of the page, then select this command.
78
The /Print Line command advances the printer a single line.
You should use this command instead of just turning the
knob on the printer. This command allows QubeCalc to
keep track of which line it is on. If you manually adjust
the printer (by turning the knob), then you will have to use
the /Print Align command to tell QubeCalc where the top of
the page is again.
The /Print Page command advances the printer to the top of
the next page. You should use this command instead of just
turning the knob on the printer. This command allows
QubeCalc to keep track of which line it is on. If you
manually adjust the printer (by turning the knob), then you
will have to use the /Print Align command to tell QubeCalc
where the top of the page is again.
The /Print Go command begins printing the defined block of
cells. You may print out your data in one of two formats:
Contents (which prints the cell name and contents of each
cell, one per line) or Display (which prints the block of
cells as they would be displayed on the screen).
The Display format is the one you normally want to use. It
displays your data in the formats and positions you have
selected.
The Contents format is useful for debugging a spreadsheet
since it prints out the actual formulas instead of the values
of the formulas.
If no Print block has been defined (using the /Print Block
command) then the /Print Go command will simply be
ignored.
Before any of your data is actually sent to the printer, the
Setup string will be sent to allow you to initialize or
change the settings on your printer (the Setup string is
described below).
79
The /Print Options command allows you to change the print
margins, page length, and Setup string.
Setup Left Top Bottom PageLength
The Setup string is a sequence of characters which is sent
to the printer each time the /Print Go command is selected
(before the actual data is sent). You may set this string to
anything you wish. It is generally used to send control
sequences to the printer to select printer options (italics or
compressed print for example). To send a control character
to the printer simply place a slash character / followed by
the three digit ASCII code (in decimal) for the control
character into the Setup string.
EXAMPLE: Since the ASCII value (in decimal) for the
escape character is 27, you would use a setup string of
/027E to send an ESC E to the printer (this sequence
selects emphasized print on an EPSON printer).
Printer settings selected using the Setup string will remain
in effect until the setting is reset using the Setup string or
until the printer is turned off.
The Left margin option lets you select how many characters
from the left edge you wish to begin printing. If you set
Left to 5 then QubeCalc will space over 5 characters from
the left edge of the page before it begins printing your
data.
The Top and Bottom margin options let you select how many
blank lines you want at the top and bottom of the page. If
Top is set to 3 then QubeCalc will not print in the top 3
lines of any page (the printing will start on the fourth line
of every page). If Bottom is set to 2 then QubeCalc will
not print in the bottom 2 lines of any page (QubeCalc will
automatically advance the paper to the next page before it
resumes printing).
The PageLength option lets you select how many physical
lines are on a page (on 8 1/2" x 11" paper at 6 lines per
inch there are 66 lines). QubeCalc needs this information
so that it can keep track of where it is on the page.
80
GRAPHING YOUR DATA
The /Graph option of the main menu provides you with the
ability to create graphs representing blocks of your data.
The order in which the cells are graphed follows the
/WorkQube Order setting. If you have a GRAPHICS.COM
driver which works with your particular printer, then
loading it before you run QubeCalc will allow you to print
your graphs to a printer by simply typing Shift-PrtSc. The
/Graph commands which are available are:
Type X A B C Options ResetBlock View
The /Graph Type command lets you select the type of graph
to be displayed. Your data may be graphed using either Bar
graphs or Line graphs. Line graphs can be plotted using
lines, symbols, or both. If you ask for symbols to be drawn
then one symbol will be placed on the graph for every data
value.
QubeCalc can display up to 3 separate sets (or blocks) of
data on the same graph. The /Graph A, B, and C commands
let you define the blocks containing the data to be graphed.
The defined block may consist of a single cell, a 2
dimensional range of cells, or a 3 dimensional block of cells.
The block is defined as described in the section titled
DEFINING A 3D BLOCK OF CELLS.
The values in each block will be graphed in the WorkQube
order. This means that you may change the order that the
cells are graphed in by either using the /WorkQube Order
command or by changing to another face to graph the data.
Any cells in the block which are BLANK or which contain
TEXT will be treated as having a value of zero.
The /Graph X command lets you select the block which
contains the items to be placed along the X axis. These
"items" may be TEXT or numerical data (NUMBERS or
FORMULAS). Since the X axis may become a little
overcrowded with too many "items", QubeCalc provides the
Spacing option (see /Graph Options) to help you avoid some
of this clutter.
81
The /Graph ResetBlock command releases (undefines) any
one or all of the blocks to be graphed (A, B, C, X).
The /Graph View command displays the defined blocks
graphically using the settings selected with the TYPE and
OPTIONS commands. The graph will remain displayed on
your screen until you press a key. Once a key is pressed
QubeCalc will return to the WorkQube display. QubeCalc
will still be in the /Graph menu so that you may make any
adjustments or additions you want.
The [F10] GRAPH function key can be used to display a
graph using the current graph settings and blocks. This
function works just like the /Graph View command except
that it works only when you are in the regular data entry
mode (instead of from the command menus). This function
is useful because it allows you to change data in a
previously defined Graph block and display a graph of that
data by just hitting a single key.
The /Graph Options command lets you change various
display features of the graph to be drawn. You may change
the title, the X and Y axis labels, the data legends, the Y
axis format, and the spacing of the values along the X axis.
A Title may be provided which describes the graph as a
whole. This title is placed over the top of the graph if it
is provided.
Labels which describe the X and Y axes may be provided
and will be placed along the X and Y axes if provided.
A separate Legend may be provided for each of the 3 data
blocks (A, B, and C). The Legend is a short text string
which tells a little bit about the data block (like why it is
different from the other data blocks).
The Format option lets you format the values along the Y
axis using any of QubeCalc's standard formats. These
formats include Currency, Fixed, Percent, Scientific, Date,
and Time. See the section titled CELL DISPLAY FORMATS
for more information on these formats.
82
The Spacing option lets you decide how to space the values
along the X axis. If SPACING=1 then every value from the
X block will be placed along the X axis. If SPACING=3
then every third value from the X block will be used.
SPACING can range anywhere between 1 and 240.
83
DEFINING AND USING MACROS
QubeCalc allows you to assign multiple keystrokes (and
commands) to a single key. This group of keystrokes (or
commands) is known as a "Macro". Macros provide a way
to create shortcuts for long sequences of keystrokes. They
are also useful for automating repetitive commands. There
are 3 steps involved in using a macro:
- Creating the macro.
- Defining the macro.
- Running the macro.
A macro is created by simply typing the desired keystroke
sequence as text entries into consecutive cells down a
column (you may have to start each cell with a ' character
to make it a text entry). When the macro is run, QubeCalc
will read the keystrokes out of these cells instead of
waiting for you to type them in from the keyboard. If you
have more keystrokes for a macro than will fit in a single
cell, you can continue them in the next cell down in the
column.
When creating a macro you may generally just type the
desired keystrokes into the cell. In the case of Function
Keys, cursor movement keys, and a few other special keys it
is necessary to type the name of the key CAPITALIZED and
enclosed in square brackets []. Below is a list of the
available special keys.
84
[UP] Up Arrow [INS] Insert Key
[DOWN] Down Arrow [DEL] Delete Key
[LEFT] Left Arrow [EDIT] Edit Key (F2)
[RIGHT] Right Arrow [BLOCK] Block Key (F3)
[HOME] Home Key [ABS] Abs/Rel Key (F4)
[END] End Key [GOTO] Goto Key (F5)
[PGUP] PgUp Key [FIND] Find Key (F6)
[PGDN] PgDn Key [STAT] Status Key (F7)
[RET] Return Key [CALC] Recalc Key (F9)
[ESC] Escape Key [GRAPH] Graph Key (F10)
[SLEFT] Screen Left [ERASE] Erase Line
[SUP] Screen Up [BEEP] Creates a beep
[SDOWN] Screen Down [BS] BackSpace
[SRGHT] Screen Right
Once the macro has been created in this manner it must be
defined using the [F8] MACRO function key. Defining the
macro tells QubeCalc two things. First, it lets you tell
QubeCalc which key you want to assign your macro to, and
second, it lets QubeCalc know which axis your macro will
follow if it is more than one cell long. Therefore, NOTE
that the macro MUST be defined ([F8] key) IN THE FACE
where the macro APPEARS as a column!!
Pressing the [F8] MACRO key will pop up the macro
selection window to ask whether you want to define or
undefine a macro. You will then be asked to select the
letter to assign the macro to (or to undefine). Finally, you
will be asked to define the beginning cell where your macro
resides.
The macro is then run simply by holding down the Alt key
and pressing the macro's letter. You can halt a Macro
while it is running by hitting the ESC key.
85
Suppose you wanted to write a simple macro which would
let you change the format of a cell to CURRENCY (and 2
digits after the decimal point) with a single keystroke.
Since the sequence of commands to perform this operation
is /Cell Format Currency 2 <return key> NoCommas, the
sequence of keystrokes needed to perform this operation is:
/CFC2[RET]N
where [RET] is the special sequence QubeCalc uses for the
return key. You would create this macro by simply typing
'/CFC2[RET]N into one of QubeCalc's cells. Make sure you
type the quote ' first, or else QubeCalc will think the /
that you type means you want the command menu to pop
up.
Once you have created the macro in this manner, you would
press the [F8] MACRO key, and select Define. You would
then type in the letter to assign the macro to (let's say m
for money) and hit return. QubeCalc would then return to
the data screen and ask you to position the cell
pointer on the starting cell of the macro. So just position
the cell pointer, hit return, and your macro is ready to fly.
From now on, whenever you want to change the format of
the current cell to Currency, just type Alt-m and it's as
good as done.
In addition to the regular menu commands, there are 4 menu
commands available only during macro execution. These
commands are selected in the same manner as regular menu
commands (use the / key, choose the Macro [M] option, and
one of the 4 suboptions [I,G,?,Q]). The I,G, and ?
suboptions require an additional argument.
/MGcellname[RET]
The Macro will start reading keystrokes from the specified
cell instead of continuing where it's at. This command is
very useful for creating macros that loop and perform
repetitive commands.
86
/MIequation[RET]
If the equation evaluates true (if it is not equal to zero)
the Macro will continue reading keystrokes from the same
cell, otherwise the Macro will begin reading keystrokes from
the next cell down the column. This command provides you
with conditional control and is useful for controlling loops
created with the /mg command.
/M?prompt[RET]
This command temporarily pauses and allows you to enter a
line of data (a NUMBER, FORMULA, or TEXT). Any text
that you enter between the ? and the [RET] will be
displayed on the control line as a prompt. After you have
entered this data (finishing with the return key) the data
will be entered into the current cell and the macro will
resume where it left off.
For example, if the following line is encountered in a
macro:
/m?What is your name?[RET]
then the macro will pause, and prompt you with:
What is your name?
and will wait for you to enter a response. Your response
will then be placed in the current cell.
/MQ
The macro is halted and control is return to you.
NOTE: Macros should be defined in the Face where they
will be used. Some macros will work fine in any face, but
macros which make use of cell addresses (in /MG commands,
[GOTO] commands, etc.) will really screw up if you use
them in a face other than the one they were defined in.
(Remember, the cell named B10;4 in face A is not named
B10;4 when it is viewed from other faces!)
87
EXAMPLE MACRO:
This macro provides a short example using the four special
macro menu commands. It is a simple version of a "guess
the number" game, but its main purpose is simply to give
you an idea of how you might use these commands.
The top line of this macro would be placed in cell A1;1, and
the other 8 lines would be placed in cells down the column
(since these lines are TEXT they would really have a quote
' in front of them). This macro also illustrates the use of
the @CELL function.
A1;1: [END]=@INT(1000*@RAND)[RET]
A2;1: /wao
A3;1: [GOTO]Z26;1[RET]
A4;1: /ce
A5;1: /m?Guess a number between 0 and 1000:[RET]
A6;1: /mi@CELL=BL64;1[RET]GOOD JOB![RET]/waw/mq
A7;1: /mi@CELL>BL64;1[RET]TOO HIGH[RET]/mgA5;1[RET]
A8;1: TOO LOW[RET]/mgA5;1[RET]
[END]=@INT(1000*@RAND)[RET]
The purpose of the first line of this macro is to place a
random number between 0 and 1000 in the bottom right cell
(BL64;1) in the WorkQube. The [END] key is used to move
the cell pointer to cell BL64;1, and then the formula
=@INT(1000*@RAND) is entered into that cell. This formula
generates a random number between 0 and 1000.
/wao
The next line of this simply executes the /WorkSheet
AutoCalc Off command to prevent the formula (and
therefore the random number) in cell BL64;1 from changing
during the macro (you would really have a hard time
guessing a changing number).
88
[GOTO]Z26;1[RET] and /ce
The third and fourth lines of the macro move the cell
pointer to cell Z26;1 and uses the /Cell Erase command to
erase the contents of that cell. Cell Z26;1 is where your
guesses will be entered.
/m?Guess a number between 0 and 1000:[RET]
This next line is where the actual work of the macro
begins. The /Macro ? command is used to ask you to enter
a number between 0 and 1000. This command will cause the
macro to pause until you enter your guess and hit the
return key. The number you enter will be placed into the
current cell (which happens to be Z26;1).
/mi@CELL=BL64;1[RET]GOOD JOB![RET]/waw/mq
This line uses the /Macro If command to check to see if
the value of the current cell (Z26;1) is EQUAL to the
random number in BL64;1. If it is, then the processing
continues in the same cell, and the phrase "GOOD JOB!" in
placed in cell Z26;1, the /WorkSheet AutoCalc WorkSheet
command is used to turn AutoCalc back on, and the /Macro
Quit command is used to end the macro. If the value is not
EQUAL to the random number then the macro continues
with the next cell instead of writing "GOOD JOB!".
/mi@CELL>BL64;1[RET]TOO HIGH[RET]/mgA5;1[RET]
This line checks to see if the value of the current cell is
GREATER than the random number in BL64;1. If it is, then
the phrase "TOO HIGH" is placed in cell Z26;1 and the
/Macro Goto command is used to make the macro continue
from cell A5;1 (where you are asked to guess again). If the
value is NOT GREATER than the random number, then the
macro continues with the next cell instead of writing "TOO
HIGH".
TOO LOW[RET]/mgA5;1[RET]
If the value of the current cell is LESS than the random
number in cell BL64;1 then this line will be reached and the
phrase "TOO LOW" will be placed in cell Z26;1 and the
/Macro Goto command will cause the macro to continue
from cell A5;1 (where you are asked to guess again).
89
EXITING FROM QUBECALC
The /Quit option of the main menu is used to exit the
program. When you select this command you will be asked
whether you really want to exit or not. This is because
your data is not automatically saved when you exit. If you
haven't saved your data yet you should select NO, save your
data using the /File Save (or Extract) command, and then
exit.
90
THE LOTUS IMPORT PROGRAM
An import program is included to let you import 1-2-3 files
into QubeCalc. This import program (named GET123.COM)
can import multiple 1-2-3 files into a WorkQube. GET123
reads in one page of data at a time (64 columns by 64 rows)
from the 1-2-3 file, and places the data into Face A of the
WorkQube. An output file is created which is in the .QUB
format and which may be loaded into QubeCalc.
Simply type GET123 at the DOS prompt when you wish to
import 1-2-3 data. GET123 will ask you for the name of
the Lotus file you want to import. You may enter any valid
Lotus filename (and path) including either the .WKS or .WK1
extension. Hitting the escape key at this time will allow
you to exit GET123 without importing the file.
After you have entered a file name, you must enter the
page number in the WorkQube which you want the Lotus
data read into. This page number must be in the range 1
to 64.
GET123 will then begin to import the 64 column by 64 row
range of cells which begin with cell A1. This range of cells
will be placed into the QubeCalc page which you specified
earlier.
You will then be asked whether you want to import any
more Lotus data. If you select YES, then GET123 will once
again ask you for a file name and a page number. If you
select NO, then GET123 will create a QubeCalc (.QUB) file
containing the data you have imported so far. The
QubeCalc file will have the same name as the last Lotus file
you provided (except that the extension will be .QUB
instead of .WKS or .WK1). If the output file name is
already being used the existing file will be backed up before
the new one is written.
If you import two 1-2-3 files which each have a common
range name defined into the same WorkQube, only the range
name from the last 1-2-3 file loaded will be used.
91
IMPORTING DIF AND DBASE FILES
QubeCalc also provides the ability to import DIF, dBASE II,
and dBASE III files. This is done using the program named
IMPORT.COM. IMPORT requires you to supply three
command line arguments. To run IMPORT, type the follwing
at the DOS prompt:
IMPORT filetype filename pagenumber
where filetype is one of the following:
DIF - DIF file
DB2 - dBase II file
DB3 - dBase III file
and filename is the name of the file you want to import (do
not add the .DIF or .DBF extension).
and pagenumber is the page in the WorkQube to import the
file into. The page number must be in the range 1 to 64.
For example, if you want to import TAXES.DIF into page 1
of a QubeCalc spreadsheet, then you would type:
IMPORT DIF TAXES 1
If there are more than 64 records in the file which you are
importing, they are placed in the pages following the one
you are importing into.
IMPORT will read the DIF or dBASE file, and will then
generate a QubeCalc file which contains the data from that
file. If you wish to import multiple DIF or dBASE files into
a single WorkQube, then you must import each DIF or
dBASE file into separate WorkQubes, and then use
QubeCalc's /File Combine command to create the single
WorkQube.
92
EXPORTING DIF, DBASE, AND LOTUS FILES
QubeCalc provides the ability to export WorkQube pages to
Lotus 1-2-3, DIF, dBASE II, and dBASE III files. This is
done using the program named EXPORT.COM. EXPORT
requires you to supply three command line arguments. To
run EXPORT, type the follwing at the DOS prompt:
EXPORT filetype filename pagenumber
where filetype is one of the following:
WKS - Lotus 1-2-3 R1 file
WK1 - Lotus 1-2-3 R2 file
DIF - DIF file
DB2 - dBase II file
DB3 - dBase III file
and filename is the name of the Lotus, dBASE, or DIF file
you want to export (do not include the .WKS, .WK1, .DBF,
or .DIF extension).
and pagenumber is the page in the WorkQube you want to
export to the Lotus, dBASE, or DIF format.
EXPORT will then read the selected page in the QubeCalc
file, and will then generate a Lotus, dBASE, or DIF file
which contains the data from that file.
93
Lotus specifics:
When EXPORT encounters a formula which references a cell
on another page, that cell will be exported as a numerical
value (since Lotus has no concept of "pages".
dBASE specifics:
If you export to a dBASE II or dBASE III file, then
EXPORT will use the top row containing data as the field
names for the data to be exported. The widths of each
column will be used as the field width in the dBASE file.
For example, using the spreadsheet below:
A B C D
1
2 NAME CITY ZIP
3 Bill Sandy 84091
4 Sam New York 10016
5 Joe San Jose 95121
6
NAME, CITY, and ZIP will be used as the field names for
the data in their columns.
EXPORT will step through each field name, and will ask you
whether each field is a (C)HARACTER or (N)UMBER field.
94
ERROR MESSAGES
There are several error messages which you may encounter
when using QubeCalc. These error messages are listed
below along with a description of what the error messages
are trying to tell you.
Invalid File
This error message means that QubeCalc could not correctly
read in the data file you asked for. The file is either NOT
a QubeCalc file or it has been corrupted.
Bad GOTO In Macro
This error message means that you used a /Macro Goto
command in a macro but provided an invalid cell name to
continue reading keystrokes from. The cell name should
NOT begin with a "$". This character should only be added
to a cell name when it is being used as a reference in a
formula.
Bad IF Equation in Macro
This error message means that you used a /Macro If
command in a macro but provided an invalid equation to
evaluate. Make sure that the equation does NOT have a
leading equal sign. Remember that all function names have
to be CAPITALIZED.
Critical Error... Drive Ready?
This error message means that DOS has encountered a
critical error which prevents it from continuing. This error
can occur for any of the following reasons:
- Drive not ready (no disk, or the drive door is open).
- Printer out of paper.
- Write protect error.
- Disk screwed up.
95
Defined Block Too Large
This error message means that the one of the blocks of
cells you have defined for graphing contains more than 1000
cells. (The graphics screen doesn't have enough resolution
to show that many values, anyways).
Error While Writing Print File
This error message means that QubeCalc could not properly
write your file out to disk for some reason. There are
several problems which may have been encountered:
- The disk is write protected.
- There is not enough room on the disk for the file.
- There is no disk in the drive.
- The drive door is open.
Error Writing File To Disk
This error message means that QubeCalc could not properly
write your file out to disk for some reason. There are
several problems which may have been encountered:
- The disk is write protected.
- There is not enough room on the disk for the file.
- There is no disk in the drive.
- The drive door is open.
File Not Found
This error message means that QubeCalc could not find the
data file which you asked for. The file either doesn't exist
or it might be in another directory. You can use the /File
Files command to see what files are in the current
directory. The /File Directory command can be used to
change to another directory to search for the file.
96
Help File Not Found
This error message means that QubeCalc could not find the
help file (QUBECALC.HLP). QubeCalc will look for its help
file in the directory you were in when you started QubeCalc
(unless you specify otherwise using the setup program).
Illegal Equation
This error message means that QubeCalc could not evaluate
the equation you supplied for the /Block DataFill command.
Try carefully re-entering the equation. Remember that the
equation must start with an equal sign, that function names
have to be CAPITALIZED.
Illegal File Name
This error message means that you used a filename which
DOS did not like. QubeCalc automatically appends .QUB
onto the file names which you provide, so if you tried to
provide a filename extension yourself, you will get this
message.
No More Memory Available
This error message means that QubeCalc ran out of memory
to place your data in. If this message occurs during a
command such as /Block DataFill then you may still have a
few bytes (1000 or so) left after you get the message (the
bottom left hand corner will tell you).
97
Unknown Key [..] In Macro
This error message means that QubeCalc has encountered a
special key in a macro which it does not recognize. Check
your macro to make sure that all special keys (those which
are spelled out between square brackets) are spelled right
and are CAPITALIZED.
98
Lotus and 1-2-3 are trademarks of Lotus Development Corp
IBM and PC-DOS are trademarks of International Business
Machines Corp.
99